我想在最终实用程序类中测试私有(private)方法。
<强>1。类本身:
类签名是:
public final class SomeHelper {
/** Preventing class from being instantiated */
private SomeHelper() {
}
还有私有(private)方法本身:
private static String formatValue(BigDecimal value)
测试已经写好了,但是早些时候,该方法在一个没有私有(private)构造函数的非实用非最终类中。
测试已经在使用 @RunWith(Parameterized.class)
。
现在我得到的只是一个异常(exception):
org.mockito.exceptions.base.MockitoException:
Cannot mock/spy class com.some.package.util.SomeHelper
Mockito cannot mock/spy following:
- final classes
- anonymous classes
- primitive types
<强>2。测试
这个测试中最重要的一行是:
String result = Whitebox.invokeMethod(mValue, "formatValue", mGiven);
有没有办法让测试工作?
最佳答案
您不需要测试私有(private)方法。
但是你应该测试那些使用它的人。如果调用您的私有(private)方法的方法如您预期的那样工作,您可以假设私有(private)方法正常工作。
为什么?
没有人会单独调用此方法,因此无需对其进行单元测试。
关于java - 在最终类中测试私有(private)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35452470/