我在使用 JUnit 测试 CRUD 操作时遇到问题。
我有一个使用本地数据库的 Java 应用程序,我必须为此数据库的实体测试 CRUD 操作。
如果我不能实际使用它们,如何测试 CRUD 操作?
例如,要测试创建操作是否有效,我必须验证新创建的条目是否确实对应于输入数据。如果无法访问读取操作,我该如何执行此操作?
最佳答案
我认为您已经有了正确的答案,但无法遵循它或采取行动。 你的想法是这样的: 您不能对生产代码和测试代码使用一组操作。可以这么说:您需要两组独立的操作,其中用于测试代码的一组已被证明可以正常工作。
Independent Sets of Operations: Production vs Test
例如,当您想要测试实体的Create 操作时,您需要通过另一个 channel (例如通过SELECT 和 JDBC)来测试数据库的状态/SQL) 已经正常工作。 另一个测试用例可能是您希望测试实体的Read 操作。然后在调用实体的 Read 操作之前,您应该通过 JDBC/SQL 使用 INSERT 设置数据库的初始状态,然后调用 Read 实体的操作以检查预期结果。
这两套独立的测试方法很重要,因为在您测试它们之前,您不能依赖它们。使用另一组已经过测试的独立方法,解决了这个先有鸡还是先有蛋的问题。
关于java - 使用 JUnit 测试数据库中的 CRUD 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38526142/