测试JPA的最佳方法是什么?

时间:2015-07-13 09:35:37

标签: jpa junit

我正在研究JPA项目,我希望进行单元测试(虽然需要数据库,但在这种情况下,它更像是集成测试。)

测试JPA项目的最佳方法是什么? jUnit可以做到吗?还有其他更好的方法吗?

非常感谢

1 个答案:

答案 0 :(得分:2)

您提供的有关您正在使用的工具/框架的信息有限且是一个非常笼统的问题,但我会就您提出的问题给出快速回答。这些只是指针,但我认为你需要做更多的工作,以便你找出最适合你的特定项目。

Junit 允许您使用特定参数定位类方法并检查返回值。返回的值可能是应该具有特定值的某个字段的实体,具有某些预期字段值的实体列表,异常等等(无论您采用何种方法)。您可以在引入新功能时运行测试,并在开发过程中重新运行它们以测试回归。您可以轻松测试边缘情况和非名义内容。在Java SE / EE中启动和运行Junit非常简单,因此可以成为您坚持测试的好选择。这是我用来测试新功能的更快捷方式之一。

Spring / MVC - 使用MVC框架当然很有用。我使用过 JSF / Primefaces 。但这主要是因为应用程序是一个JSF应用程序,并且这样的开发测试让人相信“模型”层提供了框架其余部分所需的内容。因此,这为模型/ JPA / DB层提供了一些信心(看到提供的数据当然很好),但是没有提供Junit可能期望的灵活,灵活和有针对性的测试。

我认为当您使用JUnit取得一些进展时,可能需要考虑Dbunit。 见http://dbunit.sourceforge.net/

  

DbUnit是针对的JUnit扩展(也可用于Ant)   数据库驱动的项目,其中包括放置数据库   在测试运行之间进入已知状态。这是一个很好的方式   避免在一个测试用例时可能出现的无数问题   破坏数据库并导致后续测试失败或   加剧了伤害。