【发布时间】:2015-03-01 08:31:48
【问题描述】:
我的项目中有以下课程,我正在尝试为其编写测试用例
Class A{
a(){
B b = new B();
int ans = b.somefunction();
}
}
我需要在上面的类中模拟 somefunction() 调用以进行测试
我尝试了以下方法来实现这一点
@RunWith(PowerMockRunner.class)
@PrepareForTest({A.class,B.class})
Class TestA{
testa(){
EasyMock mb = EasyMock.createMock(B.class);
PowerMock.createMock(B.class);
PowerMock.expectNew(B.class).andReturn(mb);
EasyMock.expect(mb.somefunction()).andReturn(0);
EasyMock.replay(mb);
PowerMock.replay(B.class);
}
}
但它总是给出 Java.lang.AssertionError: Unexpected method call B.somefunction()
我的包中有 PowerMock 1.5.5 和 EasyMock 3.2
有人可以帮我解决上述问题并帮助我找出我到底哪里出错了。我是使用 EasyMock 和 PowerMock 的新手。
是否存在测试给定类的更简单方法。
【问题讨论】:
标签: java unit-testing testing powermock easymock