J'apprends Arquillian et j'ai un problème. Mon test ne fonctionne que si au début je génère la guerre avec mvn clean package -DskipTests
puis j'exécute des tests avec la commande mvn test
.Arquillian + mvn paquet propre au lieu de mvn paquet propre -DskipTests et test mvn
Si j'exécute mvn clean package
puis-je obtenir une exception et mes tests ne sont pas exécutés:
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)
Ce serait génial si je peux exécuter mes tests directement, sans d'abord générer l'artefact final.
Ceci est ma classe de test:
@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 -");
}
}
J'ai essayé le wollowing mais ça ne marche pas pour moi:
war = ShrinkWrap.create(MavenImporter.class).loadPomFromFile("pom.xml").importBuildOutput().as(WebArchive.class);