`
bruce008
  • 浏览: 172901 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

怎样在Spring 中DI 一个mock service for unit test

阅读更多

以前在unit test 中 要mock 一个 外围的service 的话 EasyMock JMock,  现在则是 Mokito 用得比较多。  

 

其实JMock 与 Mokito 的区别就是 EasyMock,  JMock 假设我们不去调用mock 对象的方法,  因此如果我们想调用, 我们就得不断的check, assert。  但是如果用的Mokito 就爽了,  因为它假定我们会去调用mock 对象,  因此我们不比做mock , prepair。 直接Mockito.mock (className.class) 得到一个mock 对象, 注入 就可以用了。  这种方式在我们测试别人的代码的时候,  不确定哪些方法是会被调用的, 用Mockito 很方便的。  

 

现在在unit test 中用到Spring, 需要在Spring中 注入 Mockito mock 的service。  

 

  我们可以采用  :

  <bean id="utilityService"  class="org.mockito.Mockito" factory-method="mock">

<constructor-arg value=" com.blabla.UtilityService " />

</bean>

 

或者 

 

    <bean id="utilityService" class="org.springframework.aop.framework.ProxyFactoryBean">

<property name="target">

<bean class="org.mockito.Mockito" factory-method="mock">

<constructor-arg value="com.blabla.UtilityService" />

</bean>

</property>

<property name="proxyInterfaces">

<value> com.blabla.UtilityService </value>

</property>

</bean> 

 

当然如果我们直接开发新接口的时候,用JMock 可以让我们很明确维护这些依赖关系。 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    spring-mock.jar

    Classes contained in spring-mock.jar: org.springframework.mock.jndi.ExpectedLookupTemplate.class org.springframework.mock.jndi.SimpleNamingContext.class org.springframework.mock.jndi....

    struts-junit spring-mock spring-test junit的javadoc.jar文档

    struts-junit spring-mock spring-test junit等的javadoc.jar格式的API文档,直接导入Eclipse/MyEclipse/Netbeans等IDE即可实现快速API查询。 包含以下文件: File name -------------------------------------- ...

    SPRING DI注入例子

    Spring框架的Dependency Injection(DI,依赖注入)是其核心特性之一,它允许开发者在运行时通过容器来管理对象及其依赖关系,而不是硬编码这些依赖。这样可以提高代码的可测试性和可维护性,降低了组件之间的耦合度...

    spring-test-3.2.0.RELEASE.jar

    通过`@MockBean`注解,可以在Spring容器中注入一个Mock对象,而`@SpyBean`则可以创建一个部分模拟的Bean。同时,`when()`和`thenReturn()`等方法可以定义Mock对象的行为,实现精确的预期控制。 3. **Web应用测试:*...

    Unit Testing with Mock Objects

    Using Mock Objects for unit testing improves both domain code and test suites. They allow unit tests to be written for everything, simplify test structure, and avoid polluting domain code with ...

    Spring test

    Spring Test是Spring框架的一个重要组成部分,它为Java开发者提供了强大的测试支持,涵盖了单元测试、集成测试以及端到端测试的方方面面。Spring Test旨在简化应用程序的测试工作,通过与JUnit和其他测试框架结合,...

    java单元测试 spring mock的使用

    在Spring中,Mock的使用可以模拟Web环境进行单元测试,不需要每一次都需要部署到容器里边。Mock会模拟Web环境,创建ApplicationContext和servletContext,加载配置文件,注册DAO和Manager类等。这样,在单元测试程序...

    spring test学习2

    在本篇中,我们将深入探讨Spring Test的关键概念、核心组件以及如何使用它来增强你的测试实践。 一、Spring Test简介 Spring Test是Spring框架的测试模块,它提供了对Spring应用进行测试的全面支持。通过集成JUnit...

    spring test

    Spring Test是Spring框架中的一个重要组成部分,它为Java开发者提供了强大的测试工具,用于验证Spring应用程序的配置和行为。在本文中,我们将深入探讨Spring Test的核心概念、功能以及如何使用它进行有效的单元测试...

    spring-boot-test示例程序

    在IT行业中,Spring Boot是一个非常流行的Java框架,用于简化微服务和Web应用的开发。它提供了许多开箱即用的功能,使得开发者可以快速构建可运行的应用。本示例程序是关于"Spring Boot Test"的实践,它展示了如何...

    spring-test.zip

    Spring框架是Java开发中的一个核心组件,主要用于简化企业级应用的开发。`spring-test.zip`文件包含的是关于Spring测试的相关代码示例,这对于理解和掌握Spring框架的测试支持至关重要。Spring Test模块提供了集成...

    spring-Test,Junit4 jar,和测试代码

    在这个例子中,`@SpringBootTest`注解启动了一个完整的Spring应用上下文,`@Autowired`注入了UserService。然后我们编写了一个测试方法`testFindUser()`,检查用户服务是否能正确找到用户。 此外,Spring Test还...

    spring-test

    在Spring Data JPA项目中,Spring Test结合`@DataJpaTest`和`@AutoConfigureTestDatabase`可以方便地进行数据库相关的集成测试。`@DataJpaTest`会自动配置JPA测试环境,而`@AutoConfigureTestDatabase`则允许我们...

    TOGAF Mock Test4

    在IT行业的专业领域中,TOGAF(The Open Group Architecture Framework)是一个被广泛接受的企业架构框架,用于设计、规划、实施和治理企业架构。本文将深入解析“TOGAF Mock Test4”中提及的关键知识点,包括TOGAF...

    spring-mock-2.0-rc3.jar

    DelegatingServletOutputStream: ServletOutputStream接口的委托mock实现,在需要拦截和分析写向一个输出流的内容时,可以使用它。 说明:在提供关于Controller(控制器)的测试时,以上这些对象是最常用的。

Global site tag (gtag.js) - Google Analytics