<分区>
我有一个我需要测试的类,它有两个不同类但相同接口(interface)的实例。这是代码的样子,
要测试的类:
@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 都为空,因为它们没有被模拟。当接口(interface)只有一个实现时,不会发生这种情况。
知道如何处理这个吗?
谢谢, 安杰洛