【发布时间】:2014-06-19 11:40:27
【问题描述】:
我有以下要求:
我想测试我的 UI(使用石墨烯和无人机),但我需要在所有测试之前登录到应用程序。我在 jboss 中有一个数据库身份验证领域,用于测试使用 H2 内存数据库。所以我需要在用户表中的所有测试之前添加一个用户(用户名,密码),这样我就可以在我的应用程序中成功登录。
我首先尝试在测试类中注入我的用户 EJB,这样我就可以在数据库中的所有测试之前创建一个用户。这是不可能的,因为 UI 测试在客户端上运行 (testable=false)。很明显,当时我并不知道 arquillian 是如何工作的……
然后我尝试使用 arquillian 持久性扩展和 @UsingDataSet 注释,但这也因同样的原因而失败(虽然我不确定为什么,因为我不知道该注释的确切工作原理)。
最后,我尝试使用 @Startup 注释创建一个单例 EJB,并在其 @PostConstruct 方法上创建我需要的用户。调试时,我可以在 H2 控制台中看到该用户已创建。但是当我运行测试时,登录仍然失败。
谁能解释为什么最后一个案例失败了,因为我不明白。但最重要的是,如果有人知道如何完成这项工作,我将不胜感激!
【问题讨论】:
标签: ejb h2 jboss-arquillian