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

071030 一个jmock实例

TDD 
阅读更多
pojo in action一书里面的TDD例子应该都是基于jmock的前一版本的,新一点的jmock的很多写法都不同。自己做了一下,还是不理解得很好。自己先发一个简单的做法,还并不知有什么做得不妥的地方。
首先建立测试用例:

public class PlaceOrderServiceTests extends MockObjectTestCase{

 Mockery context = new Mockery();
   
    public void testUpdateRestaurant_good() throws Exception{
     //setup
     PlaceOrderService service = new PlaceOrderService();
     final RestaurantRepository restaurantRepository  =  context.mock(RestaurantRepository.class);
     final String restaurantId = "1";
     final String pendingOrderId = "1";
     //expectations
     context.checking(new Expectations(){{
      allowing(restaurantRepository).findRestaurant(restaurantId,pendingOrderId);
      }});
     //execute
     service.updateRestaurant(restaurantId,pendingOrderId);
     //verify
     context.assertIsSatisfied();
    }
}
然后分别建立相应的类和接口:

public interface RestaurantRepository {

 Restaurant findRestaurant(String restaurantId, String pendingOrderId);

}

public class Restaurant {

}

public class PlaceOrderService {

 public void updateRestaurant(String restaurantId, String pendingOrderId) {
  // TODO Auto-generated method stub
  
 }

}

分享到:
评论

相关推荐

    JMOCK 帮助 网页 文档

    JMock 是一个Java平台上的单元测试框架,专门用于模拟对象,以便在测试过程中控制和验证对象的行为。它基于EasyMock库,但提供了更强大的功能,尤其是对于处理复杂交互和顺序的场景。JMock使得开发者可以在不依赖...

    jmock-1.2.0-jars.rar

    在 JMock 中,模拟对象是类的一个实例,它代替了真实对象在测试中的角色。你可以设置模拟对象的行为,例如返回特定值或抛出异常,以此来控制测试环境。通过这种方式,你可以专注于测试单个组件的行为,而不是整个...

    jmock-1.2.0-jars.zip

    JMock-1.2.0-jars.zip是一个包含JMock核心库和CGLIB扩展库的压缩包。这个压缩包中的两个主要文件——jmock-core-1.2.0.jar和jmock-cglib-1.2.0.jar,是进行JMock测试时所必需的组件。 首先,我们来看jmock-core-...

    使用 FactoryBean结合Jmock实现动态Mock类的注入

    它是一个接口,允许我们自定义bean的实例化逻辑,这在某些复杂场景下非常有用,比如动态代理、模拟对象的创建等。本篇文章将探讨如何结合`FactoryBean`与Jmock库来实现动态Mock类的注入,以便于进行单元测试。 首先...

    JMock单元测试

    在测试实例中,首先需要定义一个接口,例如IUserService,它包含一个sayHello的方法。然后是该接口的一个简单实现,比如UserServiceImpl类,它实现IUserService接口,并给出sayHello方法的一个直接返回。 接下来,...

    jmock-overview.rar_overview

    1. **创建模拟对象**:使用JMock API创建一个模拟对象,它可以是任何接口或抽象类的实例。 2. **设置期待**:通过`expectationBuilder`定义模拟对象的方法调用,包括参数、调用次数和返回值。 3. **执行测试代码**...

    Jmockdta是一款实现模拟JAVA类型或对象的实例化并随机初始化对象的数据的工具框架

    Jmockdata是一款专为Java开发设计的测试工具,它的主要功能是模拟Java类型或对象的实例化,并能够自动地对这些对象进行随机数据的初始化。这在进行单元测试时尤其有用,因为它允许开发者创建虚拟的、含有随机数据的...

    SimpleHotel.zip

    最后,我们创建了一个`HotelReservationService`实例,并进行实际的测试操作,验证了服务是否按照预期工作。 通过这样的测试脚本,我们可以在不依赖真实数据库或外部服务的情况下,对`HotelReservationService`的`...

    xalanjava源码-Eclipse-Preferences:EclipseIDE的各种首选项

    声明一个Mockery实例。 expectations :声明用于指定期望的上下文。 mock :声明一个模拟实例。 rv :声明一个模拟的返回值。 Eclipse 首选项 Eclipse最爱 紧凑可读的测试代码使用了许多静态方法。 Eclipse 不为这些...

    自动化测试示例TestDemo完善最新版本

    JMock是一个Java模拟框架,用于在单元测试中创建和控制对象行为。在测试过程中,有些依赖项可能不易于或不适合直接实例化,JMock允许开发者创建模拟对象来代替,从而可以专注于测试目标代码的逻辑,而不是依赖项的...

    单元测试与 Mock 方法

    Mock方法则是单元测试中的一个重要工具,用于模拟复杂系统中的依赖关系,以便孤立地测试目标代码。在本篇文章中,我们将深入探讨单元测试与Mock方法的相关知识点。 首先,让我们理解单元测试的基本概念。单元测试是...

    通过java字节码分析学习对象初始化顺序

    首先,一个空的实例被创建,其所有字段都会被赋予默认值。对于`int`类型,默认值是0,所以此时`i`的值为0。 3. **字段初始化**:然后,字段的初始值表达式会被执行。在`Test`类中,字段`i`被赋值为1,这是字段初始...

    struts2 hibernate spring博文汇集

    - **第一个入门实例**:介绍了如何搭建Struts2环境,创建简单的Action类并处理请求响应流程。 - **注意事项**:例如避免使用过时或存在漏洞的版本,关注配置文件的安全性设置等。 - **插件介绍**:Struts2提供了丰富...

    RPN-calculator

    jMock是一个Java单元测试框架,用于创建和执行模拟对象,特别是在进行行为验证时。在RPN计算器的开发过程中,jMock可能被用来模拟与模型交互的外部依赖,比如输入设备或者存储结果的地方。通过模拟这些依赖,开发者...

    Mock

    在编程中,当我们的代码依赖于其他不可控或难以配置的服务(如数据库、网络API等)时,Mock可以帮助我们创建一个虚拟的、可控制的替代品,这个替代品的行为和返回值是可以预设的。 描述中的链接指向了一篇关于Mock...

    Integrated Testing Framework-开源

    一个优秀的测试框架能够简化测试过程,提高测试效率,并确保代码的健壮性。"Integrated Testing Framework",作为一款开源的测试解决方案,为开发者提供了一站式的测试服务,包括测试用例的生成、执行、错误报告、...

    毛克

    这将创建一个不执行任何实际操作的MyClass实例。 3. **配置Mock行为**:可以使用`when()`和`.thenReturn()`, `.thenThrow()`, `.doNothing()`, `.doAnswer()`等方法来设定Mock对象的方法调用行为。例如,`when...

Global site tag (gtag.js) - Google Analytics