Junit 使用';存根';正确地
我试图测试一个调用类中其他几个方法的方法。我希望其他方法被删除,这样它们就不会被执行。我原以为使用“存根”很简单。例如:Junit 使用';存根';正确地,junit,easymock,powermock,Junit,Easymock,Powermock,我试图测试一个调用类中其他几个方法的方法。我希望其他方法被删除,这样它们就不会被执行。我原以为使用“存根”很简单。例如: class Fubar { void fu() { // . . . bar(); } void bar() { // . . . } void testFu() { Fubar fubar = new Fubar(); stub (method (Fubar.class, "bar"));
class Fubar {
void fu() {
// . . .
bar();
}
void bar() {
// . . .
}
void testFu() {
Fubar fubar = new Fubar();
stub (method (Fubar.class, "bar"));
replay();
fubar.fu();
verifyAll();
}
但这似乎不起作用。它在“bar”方法中终止,而我原本预计它基本上是一个no-op。我是否使用了错误的方法
谢谢 方法的主要问题是正在测试的
fubar
实例与存根无关
我建议您使用它来创建
Fubar
和mock onlybar()
方法的新实例。这样你就可以测试你的fubar
实例(由createPartialMock()
生成)并记录bar()的行为当你删除重播方法时会发生什么?我真的做不到。这里有很多模拟的东西,比我在这里展示的要多得多,如果我把它们去掉,我会得到一堆我不想要的对象的实际执行。有趣。我要试一试。谢谢