java – 使用CDI进行测试,模拟bean
作者:互联网
我想知道我是如何用CDI进行测试的.注射期间的模拟课程.
如果我有班级:
@Named
@RequestScoped
public class ItemProcessor {
@Inject
private ItemDao itemDao;
public void execute() {
List<Item> items = itemDao.fetchItems();
for (Item item : items) {
System.out.println("Found item " + item);
}
}
}
如果我想在测试期间模拟ItemDao类,当我想测试My ItemProcessor时该怎么办?
解决方法:
你可以 – 例如 – 使用CDI“替代品”.
@Alternative
public class TestCoderImpl implements Coder { ... }
现在,只有在bean.xml中声明它作为替代方法时才会使用此bean.
<alternatives>
<class>package.TestCoderImpl</class>
</alternatives>
进一步info.
标签:java,cdi,java-ee-6,jboss-weld,weld 来源: https://codeday.me/bug/20190529/1178200.html