1

我有一个测试场景:

@Test
public void testHomePage(@InitialPage LoginPage loginPage) {

    loginPage.login();

    assertNotNull(welkom.getText());

}

由 arquillian 部署驱动:

@Deployment(testable = true)

但是, loginPage.login(); 给我一个NPE。

当我更改 testable = false 时,我的测试有效......我不明白我做错了什么......

4

1 回答 1

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 是一个要求。

于 2017-07-18T14:33:51.147 回答