`

使用JMock模拟接口或类

    博客分类:
  • Java
阅读更多

使用Jmock时,如果给的类型不是一个接口的时候,会抛出一个异常xxx is not an interface。其实根据Jmock的文档,只要稍作修改,就可以解决这个问题。

 

mock接口:

Mockery context = new JUnit4Mockery();  

 

mock类:

Mockery context = new JUnit4Mockery() {
		{
			setImposteriser(ClassImposteriser.INSTANCE);
		}
	};

 

ClassImposteriser这个类在 jmock-legacy-2.5.1.jar 这个jar包里,此外模拟具体类还需 objenesis-1.0.jar 这个jar包。

 

Refer to:http://www.jmock.org/mocking-classes.html

分享到:
评论

相关推荐

    Jmock Mock 没有接口的类

    在软件开发中,测试是确保代码质量的重要环节。模拟(Mock)对象技术是单元测试中的一个关键工具,它允许我们创建虚拟对象来模拟系统中难以控制或不...因此,在能够使用接口的情况下,优先考虑模拟接口仍然是最佳实践。

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

    在这个例子中,`MockingFactoryBean`接收目标类的`Class`对象,然后使用Jmock创建该类的模拟对象。在测试中,我们可以通过Spring配置将`MockingFactoryBean`注入到依赖的位置,从而实现动态Mock类的注入。 在实际...

    JMOCK使用文档

    JMock是一款强大的模拟框架,专门用于Java应用程序的单元测试,特别是对于那些依赖于复杂外部接口或者服务的类。本文档将详细介绍JMock的使用方法及其与JUnit的结合。 1. **什么是JMock?** JMock是一个开源的Java...

    jmock2.5.1.zip

    开发者可以通过`context.mock(Class<T> type)`方法来创建一个新的模拟对象,其中`type`是你想要模拟的接口或类。 其次,设置期待是jMock的核心操作之一。你可以使用`expectations`块来定义模拟对象的行为。例如,你...

    jmock2.5.1和easymock3.0

    1. **模拟接口和类**:JMock不仅支持模拟接口,也支持模拟具体类,这在处理非抽象类或者不能被继承的类时非常有用。 2. **期望表达式**:通过自然语言的表达方式,如`expectation`和`will`,可以清晰地定义对象的...

    JMock

    JMock的源码阅读可以帮助理解其内部工作原理,包括如何使用反射创建模拟对象,以及如何解析和执行期望。通过阅读源码,开发者可以更好地定制和扩展JMock以适应特定需求。 ### 总结 JMock作为一个强大的模拟工具,...

    jmock-2.6.0-jars

    - `jmock-2.6.0.jar`: 这是核心库,包含所有必要的类和接口来创建和管理模拟对象。 - `jmock-junit4-2.6.0.jar`: 这个版本支持JUnit 4,可以方便地与JUnit测试一起使用。 - `jmock-2.6.0-sources.jar`: 这包含源代码...

    jmock-1.2.0-jars.zip

    1. **创建模拟对象**:使用`Mockery`类来创建模拟对象,如`Mockery context = new Mockery(); MyInterface mock = context.mock(MyInterface.class);` 2. **定义行为**:通过`expect`方法来设定模拟对象的预期行为...

    jMock基本使用方法

    - **期望行为**:在 jMock 中,可以通过配置模拟对象来指定它在特定方法调用时的预期行为,比如返回值或抛出异常等。 - **验证**:测试完成后,可以验证模拟对象的方法是否按照预期被调用,以此来确认被测对象的行为...

    JMock JARs+docs

    `jmock-2.5.1-javadoc.zip` 文件提供了JMock的API文档,程序员可以通过查看这份文档了解如何使用JMock的各种类、方法和接口。Javadoc是一种标准格式,它将源代码中的注释转换为易于阅读的HTML文档,帮助开发者理解...

    JMOCK-2.6.0

    JMOCK基于Mockery API,这是一个简洁且直观的接口,允许开发者声明预期的方法调用和它们的结果。比如,你可以设定一个模拟对象在特定条件下返回特定值,或者在特定方法被调用时抛出异常。这种精确的控制使得测试更加...

    jmock-2.4.0-jars.zip

    1. **创建模拟对象**:使用jMock的`Mockery`类创建模拟对象,并指定需要模拟的接口或类。 2. **定义期望**:通过`expect`方法设置模拟对象的行为和返回值。 3. **执行被测试代码**:在期望设定后,执行实际的测试...

    JMock学习文档分享

    2. **创建模拟对象**:在测试类中,使用JMock的Context接口创建模拟对象,并定义其行为。 3. **设置期望**:通过模拟对象的`expect`方法,设定对特定方法的调用期望,包括参数、返回值和调用次数。 4. **执行测试*...

    JMock单元测试

    在这个测试类中,首先会创建一个JMock的上下文Mockery,并使用它来创建接口IUserService的Mock对象。在测试方法中,定义预期的行为:当调用IUserService的sayHello方法并传入特定参数时,返回一个预设的消息。通过...

    jmock-overview.rar_overview

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

    JMock学习资料

    JMock API提供了丰富的类和接口,如`Mockery`,`MockObject`,`Expectations`等,它们帮助你构建和管理模拟对象及期望。例如,`Mockery`上下文是创建和配置模拟对象的地方,`Expectations`类用于定义模拟对象的行为...

Global site tag (gtag.js) - Google Analytics