我使用 JUnit 测试 CRUD 操作时出现问题。
我有一个与本地数据库一起使用的Java应用程序,我必须测试该数据库实体的CRUD操作。
如果我无法实际使用它,我该如何测试CRUD操作?
例如,要测试Create操作是否有效,我必须验证新创建的条目是否实际对应于输入数据。如果我无法访问读取操作,我该怎么做?
答案 0 :(得分:1)
我认为你已经有了正确的答案,但无法遵循或采取行动。 你想到的想法是这样的: 您不能对生产代码和测试代码使用一组操作。可以这么说:您需要两套独立的操作,其中您用于测试代码的操作已经证明可以正常工作。
Independent Sets of Operations: Production vs Test
例如,当您要测试实体的 Create 操作时,需要通过另一个通道测试数据库的状态(例如,使用JDBC通过 SELECT / SQL)已经正常工作。 另一个测试用例可能是您希望测试实体的 Read 操作。然后在调用实体的 Read 操作之前,应该通过JDBC / SQL使用 INSERT 设置数据库的初始状态,然后调用 Read 实体的操作以检查预期结果。
这两套独立的测试方法非常重要,因为在测试之前不能依赖它们。使用另一套已经过测试的独立方法,打破了鸡蛋问题。