为了账号安全,请及时绑定邮箱和手机立即绑定

使用 org.springframework.test.util.ReflectionTest

使用 org.springframework.test.util.ReflectionTest

慕码人8056858 2023-02-23 14:26:49
我有一个我想测试的类方法public class EllaDtoConverter {    private static void convertToIp( final IrisBo irisBo, EllaRequestDto request ) {        if( nonNull( irisBo.getDevice() ) ) {            request.setIp( irisBo.getDevice().getIpAddress() );        }    }}提供我的测试@Testpublic void testConvertToIp() {    assertNotNull( validIrisBo.getDevice() );    assertNotNull( validIrisBo.getDevice().getIpAddress() );    EllaRequestDto ellaRequestDto = new EllaRequestDto();    ReflectionTestUtils.invokeMethod( ellaRequestDto, "setIp", validIrisBo.getDevice().getIpAddress() );}就这样放着好吗?还是我有更好的选择来测试?
查看完整描述

1 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

如果为方法编写单独的测试private增加了对代码的信心,那么它不应该是一个private方法。private方法是实现细节,应该通过类的接口进行测试。


如果您不想提取此private方法以使其可见,例如作为一个单独的类,您可以使用默认的可见性修饰符至少避免 Java 反射:


public class EllaDtoConverter {

    static void convertToIp( final IrisBo irisBo, EllaRequestDto request ) {

        ...

    }

}


查看完整回答
反对 回复 2023-02-23
  • 1 回答
  • 0 关注
  • 111 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号