我正在尝试测试一个在类中调用其他几个方法的方法。我希望其他方法被删除,这样它们就不会被执行。我原以为使用'stub'是一个简单的问题。例如:
class Fubar {
void fu() {
// . . .
bar();
}
void bar() {
// . . .
}
void testFu() {
Fubar fubar = new Fubar();
stub (method (Fubar.class, "bar"));
replay();
fubar.fu();
verifyAll();
}
但这似乎不起作用。当我预计它基本上是一个无操作时,它在'bar'方法内终止。我使用不正确吗?
感谢。
答案 0 :(得分:1)
您的方法的主要问题是您的fubar
实例,该实例正在测试中,与您的存根无关。
我建议您use createPartialMock()
,它允许您创建Fubar
的新实例,并在那里仅模拟bar()
方法。这样,您就可以测试fubar
实例(由createPartialMock()
生成)并记录bar()
的行为。