testing - 如何为独立于数据库的Webservice api构建自动化测试

标签 testing cucumber-java serenity-bdd

我是自动化测试术语的新手。目前我有一个项目想应用 Cucumber 来测试 Rest Api。但是当我尝试根据当前数据断言这个 api 的端点时,我想知道如果我改变环境或者将来测试数据库有任何变化会发生什么,所以我的测试用例可能会失败。

编写独立于数据库的测试的最佳实践是什么。

或者我需要使用空的分隔数据库运行我的测试并在运行测试之前执行一些脚本来初始化数据库?

最佳答案

为了使您的测试值得信赖,它们不应依赖于数据库中是否存在测试数据。您应该控制这些数据。因此,为了使其独立于数据库的当前状态:插入预期数据作为测试的先决条件(设置)。 (并在测试结束时再次删除它)。如果数据库连接实际上不是测试的一部分,您还可以 stub 或模拟数据库的结果(这将使您的测试更快,因为您没有使用数据库连接)。

关于testing - 如何为独立于数据库的Webservice api构建自动化测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48861207/

相关文章:

Android 日志记录 : filter from the application itself

java - TestNG+Cucumber 并行测试在同一 chrome 实例上运行

intellij-idea - IntelliJ 中的 JUnit + Cucumber - 查看步骤

logging - 如何更改 serenity-bdd 日志设置

java - 放心 : get key value from json object with specified value

testing - 集成测试与测试覆盖率

reactjs - 为什么我的 React onChange 方法与 enzyme containsAllMatchingElements 测试中的箭头函数不匹配

linux - 如何从 Linux 上的系统缓存中逐出文件?

eclipse - Cucumber .feature 文件未链接到 Eclipse 中的 stepDefinition.java

java - 无法为 serenity+jbehave 配置 pom.xml