0

我正在尝试测试一个调用类中其他几个方法的方法。我希望其他方法被剔除,这样它们就不会被执行。我原以为使用“存根”很简单。例如:

class Fubar {  
void fu() {  
    // . . .  
    bar();  
}  

void bar() {  
    // . . .  
}  

void testFu() {  
    Fubar fubar = new Fubar();  
    stub (method (Fubar.class, "bar"));  

    replay();  

    fubar.fu();  

    verifyAll();  
}  

但这似乎不起作用。当我预计它基本上是空操作时,它在“bar”方法内终止。我使用不正确吗?

谢谢。

4

1 回答 1

1

您的方法的主要问题是您fubar正在测试的实例与您的存根没有任何关系。

我建议您使用createPartialMock()它允许您在那里创建新的实例Fubar和仅模拟bar()方法。因此,您可以通过这种方式测试您的fubar实例(由 生成createPartialMock())并记录bar().

于 2011-05-27T17:52:00.083 回答