Я пытаюсь найти портативное решение для тестирования моего приложения Java EE 7. Это особенно сложно при тестировании EJB и их внедрений. Например:
@org.junit.Test
public void testIsValidCredentials() throws Exception {
System.out.println("isValidCredentials");
String username = "";
String password = "";
Map properties = new HashMap();
properties.put(EJBContainer.MODULES, new File[] {new File("target/classes")});
EJBContainer container = javax.ejb.embeddable.EJBContainer.createEJBContainer();
AuthenticatorLocal instance = (AuthenticatorLocal) container.getContext().lookup("java:global/classes/Authenticator");
boolean expResult = false;
boolean result = instance.isValidCredentials(username, password);
assertEquals(expResult, result);
container.close();
}
Когда я запускаю тест, я получаю:
Нет доступного провайдера EJBContainer
Я также пытался использовать вариант properties.put(EJBContainer.PROVIDER, "")
, но безуспешно. Для Glassfish есть некоторая документация, но для Wildfly она очень плохая.
Также я слышал об arquillian, но я вижу только пакеты Alpha, что не кажется безопасным для производства. Кто-нибудь знает портативное решение для (интеграционного) тестирования?