【发布时间】:2016-11-20 07:02:40
【问题描述】:
我正在尝试设计一个最佳策略来对我的 Spring 应用程序的 DAO 层进行单元测试。 许多现有的方法,如内存数据库使用等(帖子:12289800、12390813、9940010、12801926)。不要吸引我。
所以,我想到了一个简单的方法:
- 创建 Spring test-context.xml 并将测试所有 DAO 类所需的所有数据放入其中;
- 为每个测试类创建一个模板方法来测试 CRUD 操作和所有“选择”操作;
- 在测试之前,将所有需要的数据从 test-context.xml 插入到您的真实数据库中。我们可能还需要一些依赖项(引用),所以也要插入它们,比如说在 @Before 方法中。
- 在所有 CRUD 操作之后,从 DB 中删除所有依赖项(引用),比如说在 @After 方法中。
如果我们有很多依赖项,这可能会成为一种非常昂贵和费力的方法。此外,我们只有一个 @Test 方法(模板方法,以确保操作的顺序:创建、读取......等) - 所以每个测试类只有一个测试。
那么,我需要一个建议,这个策略是否可行?你做了哪些类似的事情来测试你的 DAO?
【问题讨论】:
-
你使用哪个 IDE 取决于它,如果你想使用 STS IDE 则将你的依赖项放在 pom.xml 中,它将维护并帮助你更新依赖项。您遵循的路径是必要的,因此您以正确的方式前进。在您将代码投入生产之前,测试是必要的。所以请通过 Junit 进行测试。
-
依赖关系是指连接到数据库中给定表的数据库的其他实体))换句话说对其他表的引用。我们不能依赖现有的,所以需要插入它才能正确测试。
标签: java spring testing junit dao