Arquillian 使用指南(2)

src/main/java/demo/dao/LanguageDao.java

package demo.dao; import demo.entities.Language; import javax.annotation.PostConstruct; import javax.ejb.Singleton; import javax.ejb.Startup; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import java.util.List; @Singleton @Startup public class LanguageDao { @PersistenceContext EntityManager em; public List<Language> listLanguages() { return em.createQuery("select l from Language l").getResultList(); } @PostConstruct public void insertTestData() { Language java = new Language(); java.setName("Java"); em.persist(java); Language ruby = new Language(); ruby.setName("Ruby"); em.persist(ruby); Language groovy = new Language(); groovy.setName("Groovy"); em.persist(groovy); } }

现在开始创建我们的测试类,如果你已经完成了教程的上半部分,这个命令也类似。

$ arquillian create-test --class demo.dao.LanguageDao.java --enableJPA Picked up type <JavaResource>: demo.dao.LanguageDemoTest Wrote /Users/paul/arquillian-demo/src/test/java/demo/dao/LanguageDemoTest.java

这个命令会创建一个测试类,并添加 persistence.xml 到测试的部署中。在 IDE 中打开这个测试类,添加 Language 到部署中。

现在添加一个测试断言:

src/test/java/demo/dao/LanguageDaoTest.java

@Test public void testListLanguages() { Assert.assertEquals(3, languagedao.listLanguages().size()); }

恭喜你! 另一个 Arquillian (greenbar) 绿条 !

添加其它容器

添加其它容器很简单,只需再次运行 setup 命令。例如,添加 Glassfish。

$ arquillian setup --container GLASSFISH_3_1_REMOTE

在容器之间切换只需要切换 Maven profile。例如在 Forge中:

$ build test --profile glassfish-remote-3 导出部署包

为了调试,将测试导出到一个部署文件非常有用。Forge 可以帮你完成。

首先转到一个 Arquillian 测试:

$ cd src/test/java/demo/MySimpleBeanTest.java

然后导出部署文件:

$ arquillian export

你可以在项目中 target 目录中找到这个部署文件。

Arquillian 的详细介绍请点这里
Arquillian 的下载地址请点这里

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/19427.html