我为我的DAO进行了一些单元测试(使用JPA实现)。我认为分别测试每个CRUD方法会有所帮助,例如为了测试findAll()方法,我使用DbUnit填充数据库,然后在测试中我只调用DAO的findAll()方法。
这似乎是比使用同一类中的create()方法填充数据库更好的方法(测试方法更加孤立)。
唯一的问题是我有重复的测试数据。我有DbUnit的XML数据集,我还需要手动创建一些实体以用作预期结果,因此我在测试类中有一个硬编码的数据集的子集。
我对测试没有太多经验,但我认为这些测试在更改时可能很容易破坏。有没有办法避免这种值得努力的重复?
答案 0 :(得分:0)
我通常也喜欢用JPA设置测试数据库。这是一种类型更安全的方法,同时也可以测试JPA注释。