2015-07-13 99 views
-3

我工作的JPA项目,我希望有单元测试(尽管需要一个数据库,在这种情况下,它会更加的集成测试。)测试JPA的最佳方法?

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

非常感谢您

+3

你的问题太笼统了。问一个特定的问题。通过测试JPA项目,你的意思是什么?嘲弄EntityManager什么的? – Bevor

+0

除了那些与你的“问题”有关的问题之外,你还没有定义“最佳”。不是这样的问题的地方... –

+0

谢谢你的肛门。测试JPA项目我的意思是测试DAO,测试向数据库添加实体是否正常,方案是否正确等等。对于“最佳”我的意思是最简单的解决方案,因为我之前从未使用过jUnit!再次感谢你 – TER

回答

2

你给的工具有限的信息/框架您使用和一个非常普遍的问题,但我会给你提高点快速解答。这些只是指针,但是我相信你需要做更多的工作以便让你找出对你的特定项目来说最好的方法。

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

Spring/MVC - 使用MVC框架肯定会有用。我已经使用了JSF/Primefaces。但这主要是因为应用程序是一个JSF应用程序,这种开发测试让人相信'模型'层为框架的其余部分提供了所需的东西。因此,这为模型/ JPA/DB层提供了一定的信心(看到提供的数据当然很好),但不能提供您可能期望从Junit获得的灵活,灵活和有针对性的测试。

我认为当你用JUnit取得一些进展时,Dbunit可能是一些需要看的东西。 见http://dbunit.sourceforge.net/

DbUnit是针对 数据库驱动的项目,除其他事项外,把你的数据库 到已知状态测试运行之间的JUnit扩展(也可用蚂蚁)。这是避免当一个测试案例 破坏数据库并导致后续测试失败或 加剧损害时可能发生的无数问题的绝佳方式。

相关问题