我有一个测试类,我在其中给出一个字符串值。但是对于一个特定的测试,我需要给出空参数。
setversion(versionString)
这是在合约类中解析的。在合约类中,有一个解析字符串的方法。
public void setversion(String versionString){
versionString.trim();
//some logic here with string
}
当我在合约类中创建了一个在传递 null 时返回 null 的方法时,我得到了一条评论,说更改合约类不是一个好的做法。
setversion(null);
我无法更改有方法setVersion的合约类中的任何内容。如何更改测试方法。
你可以
使用mockito的spy
机制
T t = new T();
T tspy = Mockito.spy(t);
Mockito.when(tspy.setversion(null)).thenReturn(null)
该方法将返回一个NullPointerException
,因此无法更改合约类,您只能测试预期发生的情况:
@Test(expected=NullPointerException.class)
public void testNullInput() {
fail(setversion(null));
}