慕碼人8056858
2023-02-23 14:26:49
我有一個(gè)我想測(cè)試的類(lèi)方法public class EllaDtoConverter { private static void convertToIp( final IrisBo irisBo, EllaRequestDto request ) { if( nonNull( irisBo.getDevice() ) ) { request.setIp( irisBo.getDevice().getIpAddress() ); } }}提供我的測(cè)試@Testpublic void testConvertToIp() { assertNotNull( validIrisBo.getDevice() ); assertNotNull( validIrisBo.getDevice().getIpAddress() ); EllaRequestDto ellaRequestDto = new EllaRequestDto(); ReflectionTestUtils.invokeMethod( ellaRequestDto, "setIp", validIrisBo.getDevice().getIpAddress() );}就這樣放著好嗎?還是我有更好的選擇來(lái)測(cè)試?
1 回答

幕布斯6054654
TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個(gè)贊
如果為方法編寫(xiě)單獨(dú)的測(cè)試private增加了對(duì)代碼的信心,那么它不應(yīng)該是一個(gè)private方法。private方法是實(shí)現(xiàn)細(xì)節(jié),應(yīng)該通過(guò)類(lèi)的接口進(jìn)行測(cè)試。
如果您不想提取此private方法以使其可見(jiàn),例如作為一個(gè)單獨(dú)的類(lèi),您可以使用默認(rèn)的可見(jiàn)性修飾符至少避免 Java 反射:
public class EllaDtoConverter {
static void convertToIp( final IrisBo irisBo, EllaRequestDto request ) {
...
}
}
添加回答
舉報(bào)
0/150
提交
取消