这是我的代码:
public class MyTest {
@NonNull
private MyObject MyObjectClient;
private Object copyOfTestObject;
public TestMyResult methodFoo(Object testobject) {
...
...
...
copyOfTestObject = clone(testObject);
}
}
现在,我对这个班级进行了单元测试:
public class MyTestUnitTest {
@Rule public MockitoRule mockitoRule = MockitoJUnit.rule();
private MyTest classUnderTest;
@Test
public void testNulls() {
NullPointerTester nullPointerTester = new NullPointerTester();
nullPointerTester.testConstructors(MyTest.class, NullPointerTester.Visibility.PACKAGE);
nullPointerTester.testAllPublicInstanceMethods(classUnderTest);
}
}
当我运行单元测试时,我不断收到此错误: 对于MyTest类(MyObject,MyObject2),MyTest类的索引1处的参数没有抛出异常。
我不清楚为什么会抛出这个错误。我是否必须将注释@Nullable添加到te copyOfTestObject变量?如果没有,有没有办法让这个单元测试工作?
感谢。
答案 0 :(得分:3)
看起来问题不在于methodFoo
,而是构造函数MyTest(MyObject, MyObject2)
... MyObject2
参数不是@Nullable
,您的构造函数不会抛出如果为null
传入{{1}},则会出现异常。