`
liyonghui160com
  • 浏览: 771766 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

EasyMock使用注解的方式进行springmvc的代码测试

阅读更多

 

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 使用案例(含lib)"中,我们将会深入探讨如何利用EasyMock进行Java单元测试,并通过具体的例子——EasyMockDemo来讲解其用法。 首先,EasyMock的基本理念是让你能够定义模拟对象的行为,比如它应该...

    EasyMock介绍和使用

    EasyMock是一款强大的Java模拟框架,它允许开发者在进行单元测试时创建和控制对象的行为。这个工具使得测试更加独立,可以隔离被测试代码与其他依赖的系统,从而提高测试的效率和质量。EasyMock的核心理念是通过模拟...

    Junit+EasyMock单元测试使用资料以及案例分析

    总结,Junit和EasyMock的结合使用能够有效地进行单元测试,确保代码的健壮性和可靠性。理解并熟练掌握这两个工具,对于提升软件开发的质量和效率至关重要。在实践中,不断通过案例分析和实践,你可以进一步提升单元...

    EasyMock 使用方法与原理剖析

    EasyMock单元测试的扩展;...EasyMock来进行测试; EasyMock如何打桩; EasyMock实践指南; EasyMock使用技巧; EasyMock使用简明手册; EasyMock使用说明; EasyMock使用手记; 用Mock object进行隔离测试;

    Easymock mock 异常处理的模拟代码

    通过这种方式,Easymock帮助我们在测试中控制异常行为,确保我们的代码能够正确处理预期的异常情况。它不仅简化了测试编写,还增强了测试的覆盖率,使我们能够更好地保证软件的质量和稳定性。 在实际应用中,还可以...

    easymock2.4+EasyMock使用简明手册.pdf

    EasyMock提供了一种声明式的方式来设置这些期望,使得测试代码更易读。 3. **验证(Verification)**:在测试完成后,EasyMock会验证模拟对象是否按照预期进行了操作。如果未满足期望,EasyMock将抛出异常,指出...

    转:EasyMock 单元测试

    现在,你可以执行你的测试代码,其中 `myServiceMock` 会按照预期的方式工作。在这个阶段,你可以调用 `myServiceMock.someMethod()` 并检查结果。 **验证行为** 最后,使用 `verify()` 方法来验证 `myServiceMock`...

    easymock资料和源代码实例

    Easymock是一款强大的Java单元测试工具,它允许开发者创建模拟对象来协助测试代码。这款框架使得测试变得简单,因为它...通过阅读这些材料,你可以更好地掌握如何在实际项目中运用Easymock进行单元测试,提高代码质量。

    easymock测试servlet

    在"easymock测试servlet"的场景中,我们看到`SampleServletTest`类正在使用Easymock来测试`SampleServlet`类的行为。以下是一些关键知识点: 1. **Easymock库**:Easymock是一个开源库,它提供了模拟Java对象的方法...

    easymock

    标题中的“easymock”是指一个开源的Java模拟框架,它允许开发人员在测试时创建模拟对象,以便于隔离被测试代码并确保其独立于其他依赖。EasyMock提供了简单的API来定义对象的行为,比如期望调用的方法和返回值,这...

    EasyMock单元测试例子

    通过"EasyMock单元测试例子"中的代码,我们可以深入学习如何设置和使用这些特性。每个示例都会包含创建、设置期望、验证和清理的步骤,这将帮助我们掌握EasyMock的实际应用。记住,有效的单元测试应该是独立的、可...

    easymock的使用,含demo

    本文将对 EasyMock 的功能和原理进行介绍,并通过示例来说明如何使用 EasyMock 进行单元测试。 Mock 方法是单元测试中常见的一种技术,它的主要作用是模拟一些在应用中不容易构造或者比较复杂的对象,从而把测试与...

    EasyMock

    在工具方面,EasyMock提供了方便的API和集成到各种测试框架(如JUnit)的能力,使得开发者可以轻松地在测试代码中使用模拟对象。此外,EasyMock还支持扩展,比如通过EasyMock Class Extension来模拟静态方法和最终类...

    easymock-3.2.zip

    例如,使用`@Before`注解设置测试前的准备工作,使用`@Test`注解定义测试方法,并在其中使用EasyMock的API进行模拟和验证。 总之,EasyMock 3.2 提供了一个强大而灵活的模拟工具,帮助开发者编写高质量的单元测试,...

    EasyMock与Mockito 使用

    EasyMock和Mockito是两个广泛使用的Java模拟框架,它们可以帮助开发者在隔离环境中测试代码,避免了依赖其他组件或服务的复杂性。本文将详细介绍这两个工具的使用方法、原理和差异。 **EasyMock** EasyMock是一个...

    模拟测试辅助工具easyMock.zip

    EasyMock 是一套通过简单的方法对于指定的接口或类生成 Mock 对象的类库,它能利用对接口或类的模拟来辅助...本文将向您展示如何使用 EasyMock 进行单元测试,并对 EasyMock 的原理进行分析。 标签:easyMock

Global site tag (gtag.js) - Google Analytics