有没有人知道powermock的方法你可以对构造函数进行单元测试并模拟构造函数调用的方法。
即。我有这样的课程;
public class myClass {
public myClass(){
myMethod();
// do other stuff
}
public void myMethod(){
// do stuff
}
}
我想要做的是为myClass()
构造函数编写一个模拟myMethod()
的单元测试。
如果myMethod()
是静态的,那么这很容易,因为我可以使用mockStaticPartial()
然后调用构造函数。
只是创建一个MyClass的部分模拟也无法工作,因为我创建了我创建它的模拟器,此时调用构造函数只会创建一个没有myMethod()
的MyClass的新实例嘲笑。
任何人都知道吗?
答案 0 :(得分:2)
你不应该嘲笑一个被测试的课程。如果构造函数调用方法,那么应该测试方法的操作作为测试构造函数的一部分。如果该方法执行超出单元测试范围的内容,则模拟方法用于执行“填充”的类。
如果您真的想用上面的内容(我不推荐这样做),您可以在测试中创建一个覆盖该方法的子类。 (这违背了johncarl上面的优秀评论)。