我正在学习 Arquillian,但我有一个问题。
我的测试只有在我首先生成战争mvn clean package -DskipTests
然后使用mvn test
命令执行测试时才有效。
如果我执行mvn clean package
然后我得到一个异常并且我的测试没有执行:
java.lang.RuntimeException: Could not invoke deployment method: public static org.jboss.shrinkwrap.api.spec.WebArchive a.b.c.HelloBeanTest.createDeployment()
at a.b.c.HelloBeanTest.createDeployment(HelloBeanTest.java:32)
如果我可以直接执行我的测试而不首先生成最终工件,那就太好了。
这是我的测试课:
@RunWith(Arquillian.class)
public class HelloBeanTest {
@EJB
private HelloBean bean;
@Deployment
public static WebArchive createDeployment() {
WebArchive war = ShrinkWrap.createFromZipFile(
WebArchive.class, new File("target/arquillian-demo-web-1.0.war")
);
System.out.println(war.toString(true));
return war;
}
@Test
public void testSay() throws Exception {
assertNotNull(bean);
System.out.println(bean.say());
System.out.println("- end -");
}
}
我试过了,但它对我不起作用:
war = ShrinkWrap.create(MavenImporter.class).loadPomFromFile("pom.xml").importBuildOutput().as(WebArchive.class);