1

我正在创建一个数据密集型 Java EE Web 应用程序,它将其持久数据保存在关系数据库中。现在我想要一些 JUnit 测试来验证某些“数据环境”中的应用程序行为。一些对象应该在测试之前创建并在测试完成时销毁。测试应该能够控制它们的数据设置配置。典型的情况,嗯?现在我的问题是:

  • 使用什么工具呢?DBUnit看起来相当陈旧,并且不是面向 JUnit-4 的。
  • 在哪里放置以及如何命名对象创建者?
  • 如何将配置详细信息传递给他们?Java调用参数?XML 配置?
  • 为了方便起见,我不应该使用ExternalResource JUnit 规则吗?

我很想知道什么是最佳实践。你怎么解决这个问题?

4

1 回答 1

3

DBUnit 比较老了,自 2009 年以来这个项目没有更多的创新。主要问题是 XML 用于数据集的大量使用。创建数据集很困难但可行。维护是一场噩梦,有时过于昂贵......

如果您使用带有 ORM 框架的实体,您应该尝试直接使用它们来实例化您的数据库。为此我推荐 Unitils,它有助于配置测试数据库并提供 JPA 或 Hibernate Session 的注入。您可以将这种方法与 Builder Pattern 结合来表达数据的含义并集中配置。

于 2011-04-19T13:38:40.433 回答