【发布时间】:2018-02-27 05:35:48
【问题描述】:
我有一个需要测试的类,它有两个不同类的实例,但接口相同。代码是这样的,
要测试的类:
@Service
public class MainClass {
@Resource(name = "aClass")
private IClass instance1;
@Resource(name = "bClass")
private IClass instance2;
}
其他类:
@Service("aClass")
public class A implements IClass {}
@Service("bClass")
public class B implements IClass {}
我的单元测试:
public MainClassTest {
@InjectMocks
private MainClass mainClass;
@Mock
private IClass instance1;
@Mock
private IClass instance2;
@Test
public void test() {...}
}
当我运行测试时,instance1 和 instance2 都为 null,因为它们没有被模拟。当接口只有一个实现时,就不会发生这种情况。
知道如何处理吗?
谢谢, 安杰洛
【问题讨论】:
标签: java spring unit-testing junit mockito