0

我刚刚实现了一些实体和一些支持 bean。但是,我想知道是否有某种方法可以在应用程序服务器上测试域模型或实体,在这种情况下是 Glassfish。

例如,当我添加了一个新实体时,我想通过写入和读取实体来测试持久性是否正确,并可能进行一些操作。

我已经将 JUnit 用于标准应用程序,但现在部署在应用程序服务器上的 Web 应用程序让我感到困惑。

处理这个问题的标准方法是什么。我听说过有关 JSFUnit 的一些信息,但我没有看到 Glassfish 的任何示例(也许没关系?)

PS。我的项目涉及 EJB,我认为这需要在嵌入式应用程序服务器或托管服务器下进行测试?

你能帮我理解处理这类事情的最佳做法是什么吗?

此致

4

1 回答 1

1

最好你想在容器外进行测试,这是很有可能的,因为 JPA 在容器外工作。只需设置一个专为测试而设计的新 persistence.xml,就像您只使用 Java SE 一样进行配置,然后您就可以测试您的实体了。您必须自己设置 entitymanager 实例,因为您不在容器内。要么让您的测试类从您正在测试的 EJB 继承,并将受保护的 EntityManager 实例设置为来自您的 EntityManagerFactory 的实例,或者在您的每个 DAO EJB 中为您的 EntityManager 添加一个设置器。那么你应该准备好了。不过,您将不得不手动处理您的事务,这对于大多数调用应该是可能的,因为您可能希望从每个测试中回滚更改。

于 2012-06-23T15:31:13.680 回答