我创建了一个测试用例,其中我必须将ojects从测试类传递到测试类我创建了对象并填充了它的变量,当我在测试类中检查它时,它不是null但是当它被传递到实际的类时,值就不再存在了,并且它给出了一个空指针
例如:来自测试类
String a="a";
String b="b";
Mo mo =new Mo(a,b)
Bo bo = new Bo(Mo,"anyThing")
if(mo.bo!=null)
{
call the tested class
tested.callMe(bo,"anything")
}
现在在测试班public callMe(Bo Bo,字符串任何东西)
{
if (bo.getMo().getA()==null)
{
it give true
}
}
PS我用了所有
@Mock
Mo mo;
@Mock
Bo bo;
@InjectMocks
Mo mo;
@InjectMocks
Bo bo;
在@Before方法中创建了Mo,Bo并赋予其值在考试中安排莫,Bo在考试班上叫我()它总是相同的
当在测试类中检查时,它是可以的但在测试的类中,为空
从代码片段中很难判断问题出在哪里。你能提供一个编译的最小示例吗?
你说你正在使用@InjectMocks。这只支持setter注入。如果您通过构造函数注入依赖项,那么@InjectMocks不会为您做任何事情。