Ich lerne Arquillian und ich habe ein Problem.Arquillian + MVN sauberes Paket anstelle von MVN sauberes Paket -DskipTests und MVN Test
Mein Test funktioniert nur, wenn ich zuerst Krieg mit mvn clean package -DskipTests
erzeuge und dann Tests mit mvn test
Befehl durchführe.
Wenn ich ausführen mvn clean package
dann bekomme ich eine Ausnahme und meine Tests nicht durchgeführt werden:
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)
Es wäre toll, wenn ich direkt meine Tests ausführen kann, ohne zuerst das letzte Artefakt zu erzeugen.
Dies ist mein Test-Klasse:
@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 -");
}
}
ich das wollowing versucht, aber es funktioniert nicht für mich:
war = ShrinkWrap.create(MavenImporter.class).loadPomFromFile("pom.xml").importBuildOutput().as(WebArchive.class);