我有以下类:
class MyClass {
public void doIt() {
methodOne();
methodTwo();
methodThree();
}
private void methodOne() {
// ...
}
// rest of methods similar...
}
我的目的是验证当我调用doIt()时,方法metodOne(),methodTwo()和methodThree()将按该顺序被调用。
我用嘲笑来嘲笑。有谁知道我如何测试这个场景?
讨厌
成为那个人,但是:只是不要测试这个。测试输出、副作用、结果 - 而不是实现。
如果您确实想确保正确的顺序,请将这些方法提取到单独的类中并模拟它们。
只要您的私有方法是...井。。。私人的,不要测试它们。它们是实现细节。可以在不更改类协定的情况下重构它们。测试公共方法的正确结果。