EasyMock使用注解的方式,进行springmvc的代码测试,测试代码如下:
pom文件引用
<!-- for junit start --> <dependency> <groupId>org.easymock</groupId> <artifactId>easymock</artifactId> <version>3.4</version> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-module-junit4</artifactId> <version>1.4.8</version> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-api-easymock</artifactId> <version>1.4.8</version> <scope>test </scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring_version}</version> <scope>test</scope> </dependency> <!-- for junit end -->
@RunWith(EasyMockRunner.class) public class LocMatchServiceTest { private static final Logger logger = Logger.getLogger(MatchServiceTest.class); @TestSubject private LocMatchService locMatchService = new LocMatchServiceImpl(); @Mock private MatchService matchService; @Mock private RedisMatch redisMatch; @Test public void testGetAppLocMatchInfo() throws Exception{ LocMatchInfo locMatchInfo = new LocMatchInfo(); locMatchInfo.setProductId(1000L); locMatchInfo.setCoordinate("test"); locMatchInfo.setActivitiesIllustration("test"); locMatchInfo.setActivityBegin(new Date()); locMatchInfo.setDetailAddress("test"); locMatchInfo.setActivityEnd(new Date()); locMatchInfo.setAddressId(100); EasyMock.expect(matchService.getLocMatchInfo(1000L)).andReturn(locMatchInfo); EasyMock.replay(matchService); EasyMock.expect(redisMatch.getMatchInfo("lms1000" )).andReturn(locMatchInfo); EasyMock.replay(redisMatch); EasyMock.expect(matchService.setLocMatchInfo(locMatchInfo)).andThrow(new MatchRpcException()); EasyMock.replay(redisMatch); ReflectionTestUtils.setField(locMatchService, "matchService", matchService); ReflectionTestUtils.setField(locMatchService, "redisMatch", redisMatch); LocMatchInfo record = locMatchService.getAppLocMatchInfo(1000L); assertEquals(locMatchInfo,record ); } }
相关推荐
在这个"EasyMock 使用案例(含lib)"中,我们将会深入探讨如何利用EasyMock进行Java单元测试,并通过具体的例子——EasyMockDemo来讲解其用法。 首先,EasyMock的基本理念是让你能够定义模拟对象的行为,比如它应该...
EasyMock是一款强大的Java模拟框架,它允许开发者在进行单元测试时创建和控制对象的行为。这个工具使得测试更加独立,可以隔离被测试代码与其他依赖的系统,从而提高测试的效率和质量。EasyMock的核心理念是通过模拟...
总结,Junit和EasyMock的结合使用能够有效地进行单元测试,确保代码的健壮性和可靠性。理解并熟练掌握这两个工具,对于提升软件开发的质量和效率至关重要。在实践中,不断通过案例分析和实践,你可以进一步提升单元...
通过这种方式,Easymock帮助我们在测试中控制异常行为,确保我们的代码能够正确处理预期的异常情况。它不仅简化了测试编写,还增强了测试的覆盖率,使我们能够更好地保证软件的质量和稳定性。 在实际应用中,还可以...
EasyMock提供了一种声明式的方式来设置这些期望,使得测试代码更易读。 3. **验证(Verification)**:在测试完成后,EasyMock会验证模拟对象是否按照预期进行了操作。如果未满足期望,EasyMock将抛出异常,指出...
现在,你可以执行你的测试代码,其中 `myServiceMock` 会按照预期的方式工作。在这个阶段,你可以调用 `myServiceMock.someMethod()` 并检查结果。 **验证行为** 最后,使用 `verify()` 方法来验证 `myServiceMock`...
Easymock是一款强大的Java单元测试工具,它允许开发者创建模拟对象来协助测试代码。这款框架使得测试变得简单,因为它...通过阅读这些材料,你可以更好地掌握如何在实际项目中运用Easymock进行单元测试,提高代码质量。
在"easymock测试servlet"的场景中,我们看到`SampleServletTest`类正在使用Easymock来测试`SampleServlet`类的行为。以下是一些关键知识点: 1. **Easymock库**:Easymock是一个开源库,它提供了模拟Java对象的方法...
标题中的“easymock”是指一个开源的Java模拟框架,它允许开发人员在测试时创建模拟对象,以便于隔离被测试代码并确保其独立于其他依赖。EasyMock提供了简单的API来定义对象的行为,比如期望调用的方法和返回值,这...
通过"EasyMock单元测试例子"中的代码,我们可以深入学习如何设置和使用这些特性。每个示例都会包含创建、设置期望、验证和清理的步骤,这将帮助我们掌握EasyMock的实际应用。记住,有效的单元测试应该是独立的、可...
EasyMock单元测试的扩展;...EasyMock来进行测试; EasyMock如何打桩; EasyMock实践指南; EasyMock使用技巧; EasyMock使用简明手册; EasyMock使用说明; EasyMock使用手记; 用Mock object进行隔离测试;
本文将对 EasyMock 的功能和原理进行介绍,并通过示例来说明如何使用 EasyMock 进行单元测试。 Mock 方法是单元测试中常见的一种技术,它的主要作用是模拟一些在应用中不容易构造或者比较复杂的对象,从而把测试与...
在工具方面,EasyMock提供了方便的API和集成到各种测试框架(如JUnit)的能力,使得开发者可以轻松地在测试代码中使用模拟对象。此外,EasyMock还支持扩展,比如通过EasyMock Class Extension来模拟静态方法和最终类...
例如,使用`@Before`注解设置测试前的准备工作,使用`@Test`注解定义测试方法,并在其中使用EasyMock的API进行模拟和验证。 总之,EasyMock 3.2 提供了一个强大而灵活的模拟工具,帮助开发者编写高质量的单元测试,...
EasyMock和Mockito是两个广泛使用的Java模拟框架,它们可以帮助开发者在隔离环境中测试代码,避免了依赖其他组件或服务的复杂性。本文将详细介绍这两个工具的使用方法、原理和差异。 **EasyMock** EasyMock是一个...
EasyMock 是一套通过简单的方法对于指定的接口或类生成 Mock 对象的类库,它能利用对接口或类的模拟来辅助...本文将向您展示如何使用 EasyMock 进行单元测试,并对 EasyMock 的原理进行分析。 标签:easyMock