1

有谁知道powermock中的一种方法,您可以对构造函数进行单元测试并模拟构造函数调用的方法。

即我有这样的课;

public class myClass {
    public myClass(){
        myMethod();
        // do other stuff
    }
    public void myMethod(){
        // do stuff
    }
}

我想做的是为myClass()模拟的构造函数编写一个单元测试myMethod()

myMethod()如果是静态的,这将很容易,因为我可以使用mockStaticPartial()然后调用构造函数。

仅仅创建 MyClass 的部分模拟也不会起作用,因为一旦我创建了我创建的模拟,此时调用构造函数只会创建一个新的 MyClass 实例而不会myMethod()被模拟。

任何人都知道任何方法?

4

1 回答 1

2

您不应该模拟正在测试的课程。如果构造函数调用一个方法,那么该方法的动作应该作为测试构造函数的一部分进行测试。如果该方法所做的事情超出了单元测试的范围,请模拟该方法用于执行“事情”的类。

如果你真的想用上面的方法来做,(我不推荐这样做)你可以创建一个覆盖该方法的被测类的子类。(这与上面 johncarl 的出色评论背道而驰)。

于 2012-09-13T15:37:37.277 回答