java - 使用 JUnit 测试数据库中的 CRUD 操作

标签 java database testing junit crud

我在使用 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/

相关文章:

ruby-on-rails - 如何使用 rspec 测试选择日期?

java - 账户之间的多线程银行转账

mysql - 从一系列年份中选择数字

java - ANDROID:如何让应用程序将所有错误日志记录在数据库中?

python - 使用python google appengine获取数据库中每一行的行id/key

angularjs - 如何在 Protractor 中使用 Jasmine 和 CucumberJS

javascript - 使用 npm test 进行 sails.socket 测试

java - IntelliJ 项目,其中每个模块都有自己的 git 存储库

Java split()方法在Windows上无法区分 "."和 "-"

java - 如何让这个程序计算用户输入单词中的元音?