编程语言
首页 > 编程语言> > java – 使用CDI进行测试,模拟bean

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