【发布时间】:2011-07-27 15:56:45
【问题描述】:
我想测试以下逻辑(这显然是我方法的精简版):
public void myPublicMethod(params) {
if(some_condition)
privateMethod1();
else
privateMethod2();
}
我已经模拟了方法中的所有其他依赖项,并且我已经设置了它,以便我可以保证 some_condition 为真。我想要做的是验证我的 privateMethod1() 只被调用了一次,而 privateMethod2() 根本没有被调用。这可能与起订量有关吗?
以下是有关该问题的一些说明:
- privateMethod1() 和 privateMethod2() 与 myPublicMethod 属于同一类,因此我无法为该类创建模拟对象。
- privateMethod1/2 的主体都包含来自包含这些和 myPublicMethod 的类的许多依赖项,因此将 privateMethod1/2 分解为自己的帮助程序类将非常耗时
有什么想法吗?提前致谢。我愿意接受无法做到这一点,但我想知道一种或另一种方式。
【问题讨论】:
标签: unit-testing mocking moq private-members