我有一个要测试的类方法
public class EllaDtoConverter {
private static void convertToIp( final IrisBo irisBo, EllaRequestDto request ) {
if( nonNull( irisBo.getDevice() ) ) {
request.setIp( irisBo.getDevice().getIpAddress() );
}
}
}
已提供我的考试
@Test
public void testConvertToIp() {
assertNotNull( validIrisBo.getDevice() );
assertNotNull( validIrisBo.getDevice().getIpAddress() );
EllaRequestDto ellaRequestDto = new EllaRequestDto();
ReflectionTestUtils.invokeMethod( ellaRequestDto, "setIp", validIrisBo.getDevice().getIpAddress() );
}
像这样保留它还是可以,或者我有更好的选择进行测试?
答案 0 :(得分:1)
如果为private
方法编写一个单独的测试会增加代码的置信度,而不是不应使用private
方法。 private
方法是实现细节,应通过类的接口进行测试。
如果您不想提取此private
方法以使其可见,例如作为一个单独的类,您可以使用默认的可见性修饰符至少避免Java反射:
public class EllaDtoConverter {
static void convertToIp( final IrisBo irisBo, EllaRequestDto request ) {
...
}
}