我创建了一个测试用例,我必须将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,String anything)
{
if (bo.getMo().getA()==null)
{
it give true
}
}
PS 我用过一切
@Mock
Mo mo;
@Mock
Bo bo;
@InjectMocks
Mo mo;
@InjectMocks
Bo bo;
在@Before方法中创建了Mo,Bo并给了它值 instatiated Mo,Bo在testCallMe()中的测试类 它总是一样的
在测试类中检查时可以 但是在测试类中它是null
答案 0 :(得分:0)
很难从代码片段中分辨出问题所在。你能提供一个编译的最小例子吗?
你说你正在使用@InjectMocks。这只支持setter注入。如果你是通过构造函数注入依赖项,那么@InjectMocks不会为你做任何事情。