使用JUnit在数据库中测试CRUD操作

时间:2016-07-22 12:12:23

标签: java database testing junit crud

我使用 JUnit 测试 CRUD 操作时出现问题。

我有一个与本地数据库一起使用的Java应用程序,我必须测试该数据库实体的CRUD操作。

如果我无法实际使用它,我该如何测试CRUD操作?

例如,要测试Create操作是否有效,我必须验证新创建的条目是否实际对应于输入数据。如果我无法访问读取操作,我该怎么做?

1 个答案:

答案 0 :(得分:1)

我认为你已经有了正确的答案,但无法遵循或采取行动。 你想到的想法是这样的: 您不能对生产代码和测试代码使用一组操作。可以这么说:您需要两套独立的操作,其中您用于测试代码的操作已经证明可以正常工作。

Independent Sets of Operations: Production vs Test

例如,当您要测试实体的 Create 操作时,需要通过另一个通道测试数据库的状态(例如,使用JDBC通过 SELECT / SQL)已经正常工作。 另一个测试用例可能是您希望测试实体的 Read 操作。然后在调用实体的 Read 操作之前,应该通过JDBC / SQL使用 INSERT 设置数据库的初始状态,然后调用 Read 实体的操作以检查预期结果。

这两套独立的测试方法非常重要,因为在测试之前不能依赖它们。使用另一套已经过测试的独立方法,打破了鸡蛋问题。