我有一个测试场景:
@Test
public void testHomePage(@InitialPage LoginPage loginPage) {
loginPage.login();
assertNotNull(welkom.getText());
}
由arquillian部署驱动:
@Deployment(testable = true)
然而,loginPage.login();给了我一个NPE。
当我改变testable = false时,我的测试工作......我不明白我做错了什么......
答案 0 :(得分:4)
是的,testeable = true意味着测试本身从您的跑步者(IDE,Maven,...)移动到应用程序服务器,并在应用程序服务器运行时内执行。 Arquillian Drone和Graphene旨在从应用程序服务器外部工作。
因此,将testeable设置为false会使Arquillian将您的存档部署到应用程序服务器,但测试将从您的运行时(IDE,Maven,...)运行。您可以在https://docs.jboss.org/author/display/ARQ/Test+run+modes
中详细了解相关信息由于Drone Graphene是黑盒测试,因此testeable = false是必需的。