Я пытаюсь протестировать устаревшее приложение с использованием TestNG и Arquillian. Существует ограничение, из-за которого мне нужно иметь два разных метода, аннотированных с помощью @Deployment.Несколько методов развертывания в одном тестовом классе
Метод 1 (для развертывания только тестовый код и запустить его с приложением, уже развернута и работает в WildFly 10)
@Deployment
public static WebArchive createDeployment() {
WebArchive war = ShrinkWrap.create(WebArchive.class).addClass(Test.class)
.addAsManifestResource(new File("jboss-deployment-structure.xml"))
.addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml");
return war;
}
Метод 2 (для развертывания всего приложения вместе с тестовым кода в удаленный WildFly 10 сервер)
@Deployment
public static EnterpriseArchive createEARDeployment(){
EnterpriseArchive ear = ShrinkWrap.createFromZipFile(EnterpriseArchive.class, new File("some_archive.ear"))
.addAsModule(Testable.archiveToTest(ShrinkWrap.create(WebArchive.class, "test.war")
.addClass(SoftCountFacadeTest.class)
.addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml")));
return ear;
}
Мое требование заключается в том Arquillian должен иметь возможность выбрать один из этих методов развертывания на основе некоторой конфигурации. На данный момент я комментирую метод развертывания, который не нужно запускать. @ Deployment.order, заданный here, бесполезен, так как все развертывания все еще будут работать, только их порядок выполнения может контролироваться.
Любая помощь очень ценится.
Я пытался найти решение изнутри функциональных возможностей ShrinkWarp и Arquillian. Во всяком случае, это будет работать в моем случае. Большое спасибо :-) –