jmock可以模拟对象,常用于单元测试,与junit配合使用
下面是一个例子:
消息生产者接口:
public interface MessageProvider{
//获取数据信息
public String getMessage();
}
消息使用者
public class MsgPrint{
String message = "";
public MsgPrint(MessageProvider provider) {
this.message= provider.getMessage();
}
public void print() {
//打印
System.out.println(message);
}
}
使用Jmock模拟一个消息生产者对象
public class JmockDemo extends TestCase {
Mockery context = new Mockery();
@Test
public void testGetMessage() {
// 模拟MessageProvider对象
final MessageProvider provider = context.mock(MessageProvider.class);
final String message = "测试信息";
// expectations
context.checking(new Expectations() {
{
allowing(provider).getMessage();
will(returnValue(message));
}
});
// 调用测试,通过上面的模拟,provider已经是一个有实现的对象
MsgPrint printer = new MsgPrint(provider);
printer.print();
}
}
对应的pom依赖:
<dependency>
<groupId>org.jmock</groupId>
<artifactId>jmock-junit4</artifactId>
<version>2.6.0-RC2</version>
</dependency>
分享到:
相关推荐
**JMock使用文档** 在Java开发中,单元测试是一项至关重要的任务,它能确保代码的质量和可维护性。JMock是一款强大的模拟框架,专门用于Java应用程序的单元测试,特别是对于那些依赖于复杂外部接口或者服务的类。本...
在 JUnit 中,你可以使用 `jmock-junit3` 或 `jmock-junit4` 包,它们提供了一个 JUnit Rule,使得在测试类中使用 JMock 更加方便。 6. **版本信息** 这个压缩包中的 "jmock-1.2.0-jars" 提供的是 JMock 1.2.0 ...
以下是一个简单的JMock使用示例: ```java @Test public void testWithJMock() { // 创建模拟对象 Context context = new Mockery(); List mockList = context.mock(List.class); // 设置期望 context....
此外,JMock使用领域特定语言(DSL)来定义期待,使得代码更具可读性。 **最佳实践** 1. **保持模拟对象简单**:尽量只模拟必要的行为,避免模拟过多,导致测试过于复杂。 2. **明确的期待**:清晰定义每个模拟...
JMock是一种用于Java语言的Mock对象库,它主要用于单元测试中。它允许开发者创建虚拟对象(Mock对象)来模拟真实世界中复杂...随着对JMock使用的深入,可以逐渐体会到Mock技术在编写高质量、高可靠性的代码中的重要性。
在本文中,我们将深入探讨Jmock2.6的核心特性、使用场景以及如何在实际项目中应用。 **一、Jmock2.6概述** Jmock是一款开源的Java库,它基于JUnit构建,专门设计用来创建和验证对象交互。Jmock2.6是该库的一个版本...
### jMock基本使用方法 #### 一、简介 jMock 是一个流行的 Java 框架,用于支持单元测试,特别是对于模拟对象(mock objects)的支持。通过 jMock,开发人员可以轻松地创建模拟对象来替代实际的对象依赖,从而在...
jMock 2.5.1.chm文件是一个帮助文档,包含了jMock框架的详细使用指南。通过这个文档,开发者可以学习如何创建和配置模拟对象,设置和验证期待,以及如何在JUnit等测试框架中集成jMock。 首先,创建模拟对象通常需要...
要在项目中使用JMock,首先需要添加相应的依赖。对于Maven项目,可以在pom.xml文件中加入以下依赖: ```xml <groupId>org.jmock <artifactId>jmock-junit4 <version>2.8.4 <scope>test ``` 同时,由于JMock...
通过阅读这些文档,你可以更好地了解如何有效地使用`jmock`,解决你在测试过程中遇到的问题。 总结来说,`jmock-2.6.0-jars`是一个包含`jmock`库的压缩包,它提供了进行交互式单元测试的工具,特别是对于那些依赖于...
**JMock 概述** JMock 是一个Java平台上的单元测试框架,专门用于模拟对象...理解并熟练使用JMock,能够显著提升你的测试效率和代码质量。通过阅读和研究网上的博客和文档,你可以深入探索JMock的各种用法和最佳实践。
《JMock Cookbook资源整合》是关于Java测试领域中JMock库使用的详细指南,旨在帮助开发者更好地理解和运用这个强大的模拟框架。JMock是一个用于Java应用程序单元测试的工具,它允许程序员模拟对象的行为,以便在孤立...
本文将深入探讨jMock的核心概念、用法以及如何与JUnit结合使用。 一、jMock简介 jMock是基于Java的模拟库,它的设计目标是使单元测试变得更加简洁和清晰。传统的单元测试往往依赖于真实对象,但这种方式可能导致...
JMock的使用方法主要包括以下几个步骤: 1. **创建模拟对象**:使用`Mockery`类来创建模拟对象,如`Mockery context = new Mockery(); MyInterface mock = context.mock(MyInterface.class);` 2. **定义行为**:...
为了结合`FactoryBean`和Jmock,我们需要在`FactoryBean`的实现中使用Jmock来动态创建模拟对象。以下是一个简单的示例: ```java public class MockingFactoryBean implements FactoryBean<Object> { private ...
而JMock和EasyMock则是两种广泛使用的Java单元测试框架,它们允许开发者模拟对象的行为和交互,以便于测试复杂的系统。本资源包含JMock 2.5.1和EasyMock 3.0的库文件,使得开发者在进行单元测试时无需再四处寻找相关...
标题 "maven+jmock" 暗示了我们要讨论的是如何在 Maven 项目中使用 JMock 进行单元测试。Maven 是一个流行的构建自动化工具,用于管理项目的构建、依赖和文档,而 JMock 是一个 Java 代码模拟库,允许开发者在测试中...
以下是如何使用 JMock 和 CGLIB 模拟无接口类的基本步骤: 1. 引入依赖:将这些 jar 文件添加到项目的类路径中,或者在使用 Maven 或 Gradle 的项目中,添加相应的依赖配置。 2. 创建模拟对象:使用 JMock 的 `...