这里有测试一个方法的范例,Mapper.map(Processor, Integer[]),map方法对数组中的每个整数调用Processor.process 方法:
public void testArrayProcessing() throws Exception {
Integer[] numbers = new Integer[2] {
new Integer(6),
new Integer(7)
};
// 创建伪造对象
MockControl control = EasyMock.controlFor (Processor.class);
Processor mockProcessor = (Processor)control.getMock();
// 训练对象
mockProcessor.process (numbers[0]);
control.setReturnValue (new Integer(1));
mockProcessor.process (numbers[1]);
control.setReturnValue (new Integer(1));
// 开始
control.activate ();
// 运行测试
Mapper.map(mockProcess, numbers);
// 验证测试
control.verify();
}
调用control 的verify 方法很重要,否则训练的一半就不能被测试。例如如果我们已经指定那个方法必须返回整数'1',那么调用verify方法确保返回的确实是那个值。
训练过程中的方法调用的顺序没有影响,但是我们可以指定一个方法只能被调用指定的次数:
//假设Processor接口有一个setName方法,并且
// 我们的类 Mapper,对每个项目都调用那个方法一次
mockProcessor.setName(Test);
control.setVoidCallable(3);
当我们调用verify方法,它会检查setName 被调用了多少次,如果那个方法被调用得太频繁就会报告一个错误。
EasyMock的主要局限性是只能工作于接口上,但是使用接口是一个好的设计习惯,这没有什么可抱怨的。
EasyMock可以节省很多费力的工作并使得可以更快的编写单元测试。可以从网上下载EasyMock,还有一个关于对象仿制的论文和其他的对象仿制API的链接。
分享到:
相关推荐
通过"EasyMock单元测试例子"中的代码,我们可以深入学习如何设置和使用这些特性。每个示例都会包含创建、设置期望、验证和清理的步骤,这将帮助我们掌握EasyMock的实际应用。记住,有效的单元测试应该是独立的、可...
Junit和EasyMock是Java领域中广泛使用的两个工具,它们协同工作,提供了强大的单元测试能力。本文将深入探讨这两个工具的使用,并通过案例分析帮助你更好地理解和应用它们。 **Junit简介** JUnit是Java编程语言中最...
EasyMock 是一个流行的 Java 单元测试框架,它帮助开发者创建模拟对象来测试目标类的行为。这篇文档将深入探讨 EasyMock 的使用方法和原理,以便更好地理解和应用这一工具。 首先,让我们理解 EasyMock 的核心概念...
在这个"EasyMock 使用案例(含lib)"中,我们将会深入探讨如何利用EasyMock进行Java单元测试,并通过具体的例子——EasyMockDemo来讲解其用法。 首先,EasyMock的基本理念是让你能够定义模拟对象的行为,比如它应该...
单元测试是软件开发过程中的重要环节,它主要目的是验证代码中的最小可测试单元,如方法或函数,是否按预期工作。这种测试可以在早期发现错误,提高代码质量,并且便于后期维护。本篇将深入探讨单元测试的基本理论...
Easymock是一个流行的Java库,它提供了创建和管理模拟对象的能力,帮助测试人员编写单元测试。 在"easymock测试servlet"的场景中,我们看到`SampleServletTest`类正在使用Easymock来测试`SampleServlet`类的行为。...
EasyMock 是一个强大的Java模拟框架,它允许开发者在单元测试中创建和控制对象的行为,以模拟复杂的交互场景。...总的来说,掌握并熟练使用EasyMock能够帮助开发者编写更健壮、易于维护的单元测试,提高软件的质量。
EasyMock 是一个强大的Java模拟框架,它允许开发者在单元测试中创建和控制对象的行为,以模拟复杂的系统交互。这个框架的使用可以极大地提高测试的效率和覆盖率,因为它使得测试代码可以独立于实际的依赖进行执行。 ...
Easymock是一款强大的Java单元测试工具,它允许开发者创建模拟对象来协助测试代码。这款框架使得测试变得简单,因为它可以模拟任何接口的行为,而无需实际实现这些接口。下面我们将详细探讨Easymock的基本概念、工作...
Easymock是一款强大的Java单元测试工具,它允许开发者创建模拟对象来测试代码。...通过深入学习这个压缩包中的内容,你不仅可以学会如何使用Easymock,还能提高自己在单元测试和软件设计方面的专业能力。
使用EasyMock进行单元测试可以帮助提高代码质量,减少回归错误,并使测试更加可控。不过,要注意的是,过度依赖模拟可能会导致测试过于复杂,因此在设计测试时需要权衡模拟的使用。在实际应用中,结合使用EasyMock和...
基于java的单元测试,介绍了单元测试,单元测试例子,Right-BICEP,CORRECT,A-TRIP,MOCK,EasyMock等
使用EasyMock进行测试时,首先需要引入JUnit框架进行单元测试。在本例中,我们使用的是JUnit3.8版本。然后,我们创建了一个名为`ExampleTest`的测试类,继承自`junit.framework.TestCase`,并导入了EasyMock的核心包...
2. `GettingStartedGuide.pdf`:这个指南提供了快速上手的教程,指导开发者如何在项目中引入 EasyMock,并通过简单的例子展示如何进行单元测试。例如,使用 `EasyMock.expect()` 方法设定预期,然后调用 `EasyMock....
EasyMock 3.1 是一个流行的Java模拟框架,它允许开发者在单元测试中模拟对象的行为,以便更好地控制测试环境并确保代码的正确性。在这个压缩包中,我们找到了相关的文档和jar包,这些都是理解并使用EasyMock 3.1的...
在使用EasyMock和Objenesis进行单元测试时,开发者需要注意以下几点: 1. 确保对模拟对象的行为有明确的定义,以确保测试的准确性。 2. 合理使用期望(Expectations)和验证(Verifications),以控制模拟对象的...
EasyMock 是一个强大的Java模拟框架,它允许开发者在单元测试中创建和控制对象的行为,而无需实际实例化这些对象。这个框架使得测试更加简洁,因为它可以隔离被测试代码,只关注于当前测试的功能,而不是依赖于其他...