private static class MyTestRule implements TestRule {
ArquillianTestRule arquillianTestRule = new ArquillianTestRule();
private final WebArchive warModule = ShrinkWrap.create(WebArchive.class, "test.war")
.addPackages(true, "some.default.package")
.addAsManifestResource("MANIFEST.MF")
.addAsWebResource(EmptyAsset.INSTANCE, "beans.xml")
.addClass(ServerUserContext.class);
private final JavaArchive beansModule = ShrinkWrap.create(JavaArchive.class).addClass(ApiProducer.class);
public void addWarClass(Class clazz) {
warModule.addClass(clazz);
}
@Override
public Statement apply(Statement base, Description description) {
arquillianTestRule.setArchive(ShrinkWrap.create(EnterpriseArchive.class, "test.ear")
.addAsModule(warModule)
.addAsModule(beansModule));
return arquillianTestRule.apply(base, description);
}
}
We haven't replaced it but shipped rules as an alternative to the runner. 1.2.0.Final should hit Maven Central pretty soon.
You can read all about it here http://arquillian.org/arquillian-core/#_rules