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