我正在为一个特定的方法编写junit测试。该方法包含对DAO类中其他方法的调用,我正在用EasyMock对其进行模拟。
@Before
public void setUp() throws Exception{
this.fooService = new FooService();
this.fooMock = createStrictMock(FooDAO.class);
}
@Test
public void test_fooTest(){
String arg1 = "arg1";
String arg2 = "arg2";
this.fooService.setFooDAO(fooMock);
expect(this.fooMock.someMethod(arg1, arg2)).andReturn(something);
fooMock.methodThatShouldBeCalledOnce(EasyMock.<Object>anyObject());
EasyMock.expectLastCall().once();
replay(this.fooMock);
this.fooService.methodUnderTest(someArg, someArg2);
verify(this.fooMock);
}
如果您不关心某些方法,您应该创建一个不错的mock。那么,实际上,就不需要调用ExpectLastCall了。它是隐式的,但可以是一个很好的做法,使它明显地表明您在嘲笑一个方法。once()也不需要,因为它是默认值。
因此,如果使用一个漂亮的mick来重新表达它,删除隐式调用,添加静态导入,而不添加冗余的“this”,您应该得到:
@Before
public void setUp() throws Exception{
fooService = new FooService();
fooMock = createNiceMock(FooDAO.class);
fooService.setFooDAO(fooMock);
}
@Test
public void test_fooTest(){
fooMock.methodThatShouldBeCalledOnce(anyObject());
replay(fooMock); // or replayAll() if you extend EasyMockSupport
fooService.methodUnderTest(someArg, someArg2);
verify(fooMock); // or verifyAll() if you extend EasyMockSupport
}
问题内容: 我想减少我们的构建(使用ant)运行测试所花费的时间。目前,我使用的是default ,它 在每个测试类 () 上派生一个新的虚拟机 。 我正在考虑改用,但 不确定是否会 以某种方式 耦合测试, 并可能在运行测试后给我假阳性和/或假阴性结果。 问题: 每个测试用例是否都会获得一个新的ClassLoader, 以便不再可以访问/查看以前运行的所有静态引用? 是否还有 其他 导致测试依赖/
描述 (Description) @import (once)关键字确保仅导入文件一次,并且将忽略该文件的任何后续import语句。 这是@import语句的默认行为。 这是在version 1.4.0中发布的。 例子 (Example) 以下示例演示了在LESS文件中使用once关键字 - <html> <head> <link rel = "stylesheet" href
描述 (Description) 它就像一个on事件,但导致绑定回调只在被删除之前触发一次。 语法 (Syntax) object.once(event, callback function, [context]) 参数 (Parameters) event - 它绑定一个对象。 callback - 它是对代码的引用。 context - 它是一个可以传递给回调函数的对象。 例子 (Examp
Once A small Android library to manage one-off operations for API 14 and higher. Some things should happen once. Users should only get the guided tour once. Release notes should only pop up once every
因此,这是我第一次使用EasyMock,我正在尝试向一些遗留代码添加一些单元测试。 遗留代码在Spring 3.1中,我使用的是EasyMock 3.4。 我在这里试图完成的是测试一个调用dao的服务(在Spring中编写的方法)。 代码如下: 这是我用EasyMock编写的单元测试 所以基本上发生的是,我的单元测试失败了,因为 为空! 是的,如果它实际被执行,它将为空,因为在数据库中没有clie
我正在尝试为以下类编写单元测试: 还有一些其他方法,但这个设置代码是与我的问题相关的。在单元测试中,我想模拟(使用EasyMock)对象以及它将返回的和对象: 当我尝试用JUnit运行它时,我得到以下错误: 在上没有我可以看到的公共变量。我是EasyMock的新手,所以我想我的问题是:对于我应该告诉我的mock返回什么,以及如何告诉它这样做?我根本不知道为什么设置代码会被调用,所以这是另一个谜。更