测试类
public class Test{
@Resource(name = "testFacade")
@InjectMocks
private testFacade facade;
@Mock
private TestInf inf;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
}
@Test
public void test(){
//设置inf预期的行为
when(inf.xxx).thenReturn(xxx);
//调用facade开始测试
}
}
facade的实现
public class testFacadeImpl{
@Resource(name="inf")
private TestInf inf;
}
inf 的实现
@Service("inf")
public class TestInfImpl{
public void doSoming(){
xxx;
}
}
大体就是这样的了,全部采用注解的形式,spring+mockito+junit
测试类里将inf对象mock后注入到facade中,然后在测试方法中执行facade的方法。
但是现在问题是facade的inf属性没有被@Mock标签注入,而是调用了@Resource标签,用的是spring生成的bean 而不是mock的inf,
想问一下是不是@Mock注入后被facade类中的@Resource标签重新注入覆盖掉了?