如何在单元测试中测试CDI注入包含@inject和@any
我想为这个类编写单元测试,如下所示。我不知道模拟或做任何事情来获取接口 ConnectDatabase:
@Inject
@Any
private Instance<ConnectDatabase> allConnectType;
public class DAOUtils {
public DAOUtils() {
System.out.println("Constructor...");
}
@Inject
@Any
private Instance<ConnectDatabase> allConnectType;
@PostConstruct
public void init() {
System.out.println("PostConstruct...");
}
@PreDestroy
public void destroy() {
System.out.println("Destroy!");
}
public void query() {
for (ConnectDatabase conn : allConnectType) {
conn.connect();
}
System.out.println("query database...");
}
}
接口的所有实现:
public interface ConnectDatabase {
public void connect();
}
有人有任何想法吗?谢谢
I would like to write unit test for this class as below. I have no idea to mock or do any thing to get all implements of interface ConnectDatabase:
@Inject
@Any
private Instance<ConnectDatabase> allConnectType;
public class DAOUtils {
public DAOUtils() {
System.out.println("Constructor...");
}
@Inject
@Any
private Instance<ConnectDatabase> allConnectType;
@PostConstruct
public void init() {
System.out.println("PostConstruct...");
}
@PreDestroy
public void destroy() {
System.out.println("Destroy!");
}
public void query() {
for (ConnectDatabase conn : allConnectType) {
conn.connect();
}
System.out.println("query database...");
}
}
interface:
public interface ConnectDatabase {
public void connect();
}
Does anyone has any ideas? Thank you
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论