【发布时间】:2015-07-23 12:50:17
【问题描述】:
我对单元测试很陌生,我想知道是否有一种方法可以在不初始化类的情况下测试方法。我问的原因是因为构造函数中有很多对象传递,这意味着很多模拟存根,而从彻底检查methodToTest 似乎没有使用任何对象属性。这不是我的代码,否则该方法可以转换为静态。
class ExampleClass {
public ExampleClass(FirstClass fc, SecondClass sc, ThirdClass tc) {}
public void methodToTest(FourthClass foc) {}
}
【问题讨论】:
-
我认为,你不应该在你的单元测试中假设一个方法在内部做什么。毕竟,单元测试应该检查一个方法是否完成了它的工作,不管它是怎么做的。
-
您没有创建非参数化构造函数的选项吗?喜欢
public ExampleClass() {}或制作方法static -
如果您的问题归结为您想在不调用构造函数的情况下创建对象(无论这意味着什么),请查看stackoverflow.com/questions/3488097/…
-
为什么不能通过调用构造函数来创建对象并在参数中传递空值并调用methodToTest并传递对象FourthClass?
-
@Ankushsoni 我猜是因为我想避免
NullPointerException。
标签: java unit-testing mockito powermockito