我有以下课程:
class MyClass {
public void doIt() {
methodOne();
methodTwo();
methodThree();
}
private void methodOne() {
// ...
}
// rest of methods similar...
}
我的目的是验证当我调用doIt()时,将按顺序调用方法metodOne(),methodTwo()和methodThree()。
我使用mockito进行嘲笑。有谁知道我如何测试这种情况?
答案 0 :(得分:9)
讨厌成为这个人但是:根本就不要测试这个。测试输出,副作用和结果 - 而不是实现。
如果您确实想要确保正确的顺序,请将这些方法提取到单独的类中并模拟它们。
答案 1 :(得分:3)
只要你的私人方法......嗯......私有,就不要测试它们。它们是实现细节。他们可以在不改变你的合同的情况下进行重构。测试公共方法的正确结果。