java在spring中使用autowire for Set时,如何模拟实现相同接口的所有类?
有以下课程:
public class A {
@Autowired
private Set<IClient> clients;
}
public class B implements IClient { }
public class C implements IClient { }
@RunWith(MockitoJUnitRunner.class)
public class Atest {
@InjectMocks
A a;
@Mock
IClient clients;
}
如何对Set
接口使用mock,这些接口将同时包含类B
和C
# 1 楼答案
使用构造函数注入代替字段注入,然后创建两个模拟,将它们放在一个集合中,并使用该集合调用构造函数。例如: