Java xml数据集文件和测试方法代码之间的重复

Java xml数据集文件和测试方法代码之间的重复,java,unit-testing,Java,Unit Testing,我有一些DAO的单元测试(使用JPA实现)。我认为单独测试每个CRUD方法会有所帮助,例如,为了测试findAll()方法,我使用DbUnit填充数据库,然后在测试中只调用DAO的findAll()方法。 这似乎比从同一个类中使用create()方法填充数据库更好(测试的方法更独立) 唯一的问题是我有重复的测试数据。我有用于DbUnit的XML数据集,我还需要手动创建一些实体以按预期结果使用,因此我在测试类中硬编码了该数据集的一个子集 我在测试方面没有太多经验,但在我看来,这些测试在更改时很容易


我有一些DAO的单元测试(使用JPA实现)。我认为单独测试每个CRUD方法会有所帮助,例如,为了测试findAll()方法,我使用DbUnit填充数据库,然后在测试中只调用DAO的findAll()方法。
这似乎比从同一个类中使用create()方法填充数据库更好(测试的方法更独立)

唯一的问题是我有重复的测试数据。我有用于DbUnit的XML数据集,我还需要手动创建一些实体以按预期结果使用,因此我在测试类中硬编码了该数据集的一个子集


我在测试方面没有太多经验,但在我看来,这些测试在更改时很容易中断。有没有什么方法可以避免这种重复,值得付出努力?

我通常也更喜欢用JPA设置测试数据库。这是一种类型更安全的方法,同时也测试JPA注释。

我还应该提到,我使用Maven Hibernate3插件创建了测试数据库,我使用DbUnit只是为了用测试数据填充它。我没有使用该插件,但我更愿意用内存数据库配置持久化单元,例如:jdbc:derby:memory:myDb;create=true