使用 org.springframework.test.util.ReflectionTest

我有一个我想测试的类方法


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() );

}

就这样放着好吗?还是我有更好的选择来测试?

慕码人8056858
浏览 138回答 1
1回答

幕布斯6054654

如果为方法编写单独的测试private增加了对代码的信心,那么它不应该是一个private方法。private方法是实现细节,应该通过类的接口进行测试。如果您不想提取此private方法以使其可见,例如作为一个单独的类,您可以使用默认的可见性修饰符至少避免 Java 反射:public class EllaDtoConverter {    static void convertToIp( final IrisBo irisBo, EllaRequestDto request ) {        ...    }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java