У меня есть несколько стандартных тестов интеграции junit с arquillian, tomcat7 embedded (arquillian-tomcat-embedded-7: 1.0.0.Final-SNAPSHOT, tomcat-embed-core : 7.0.50) и Shrinkwrap.Адрес уже используется, если тесты интеграции 2+ arquillian
@RunWith(Arquillian.class)
public class TestMe {
@Deployment
public static WebArchive deploy() {
return
ShrinkWrap.create(WebArchive.class, "test.war")
.addPackages(true, "org.foo")
.addAsManifestResource("META-INF/context.xml", "context.xml")
.addAsWebInfResource("WEB-INF/beans.xml", "beans.xml")
.addAsWebInfResource("WEB-INF/web.xml", "web.xml").as(WebArchive.class);
}
@Test ...
}
Отдельно выполненный через maven каждый тест зеленый. Но если я сделаю mvn, проверьте и запустите весь testuite, я получаю: java.net.BindException: Адрес уже используется: JVM_Bind: 9095. В чем проблема?
arquillian.xml:
<arquillian xmlns="http://jboss.org/schema/arquillian"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd">
<defaultProtocol type="Servlet 3.0" />
<engine>
<property name="deploymentExportPath">target</property>
</engine>
<container qualifier="tomcat" default="true">
<configuration>
<property name="unpackArchive">true</property>
<property name="bindAddress">localhost</property>
<property name="bindHttpPort">9095</property>
<property name="serverName">amgui-arquillian-tomcat7-embedded</property>
</configuration>
</container>
Я не добавлял никаких параметров для параллельного выполнения теста для уверенности. Я скорее думаю, что Tomcat1 не полностью остановлен, когда tomcat2 уже запускается. Для jboss-arquillian-embedded существует опция конфигурации для добавления диапазона портов для использования, если текущий порт используется ... :( – Ginkgochris
Спасибо! –