Кто-нибудь знает что-нибудь о Embedded Glassfish? Я хочу запустить некоторые из моих тестов EJB, но я не хочу запускать и останавливать встроенную стеклянную панель каждый раз, когда я запускаю тест.Использование встроенной стеклянной рыбы с Maven
Согласно документации плагина я должен поместить это в POM:
<plugin>
<groupId>org.glassfish</groupId>
<artifactId>maven-embedded-glassfish-plugin</artifactId>
<version>3.1</version>
<configuration>
<app>target/ejbcontainer-1.0-SNAPSHOT.jar</app>
<name>test</name>
<ports>
<http-listener>8080</http-listener>
<https-listener>8181</https-listener>
</ports>
</configuration>
<executions>
<execution>
<goals>
<goal>start</goal>
<goal>deploy</goal>
<goal>undeploy</goal>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.16</version>
<configuration>
<skip>true</skip>
</configuration>
<executions>
<execution>
<phase>integration-test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<skip>false</skip>
</configuration>
</execution>
</executions>
</plugin>
Это все хорошо. Я могу «запустить» эту встроенную стеклянную рыбу, и я получаю это в своей консоли, которая доказывает, что ее работа:
Информация: тест был успешно развернут в 1,124 миллисекундах. PlainTextActionReporterSUCCESSDescription: deploy AdminCommandApplication, развернутый с тестом имен. [имя = тест 16 декабря 2013 6:03:29 PM PluginUtil doDeploy Информация: Развернутый тест Hit ENTER перераспределить, X, чтобы выйти из
Однако, когда я 'Выполнить' Мои тестовые файлы, создается новый экземпляр встроенной стеклянной рыбы.
Мои тестовые файлы не собирают текущий контейнер.
Вот TestFile, если это помогает:
public class Test extends TestCase {
private Context ctx;
private EJBContainer ejbContainer;
public Test(String testName) {
super(testName);
}
@BeforeClass
public void setUp() {
ejbContainer = EJBContainer.createEJBContainer();
System.out.println("Opening the container");
ctx = ejbContainer.getContext();
}
@AfterClass
@Override
public void tearDown() {
ejbContainer.close();
System.out.println("Closing the container");
}
@org.junit.Test
public void testApp() throws Exception {
TemperatureConverter converter = (TemperatureConverter) ctx.lookup("java:global/classes/TemperatureConverter");
assertNotNull(converter);
}
}