caching - 您可以重用已经在其他嵌套功能文件中运行的测试结果吗?
问题描述
我是空手道框架的新手 :)
我目前正在查看https://github.com/intuit/karate/blob/master/karate-demo/src/test/java/demo/callnested/CallNestedRunner.java我已经想到了一个结构来做我的测试. 我想坚持使用空手道进行功能测试,但使用嵌套的功能文件。我在说的是这样的:
Project
| - Features
| | - Feature1.feature
| | - Feature2.feature
| - Tests
| | - Test01.feature
所以 Feature1.feature 和 Feature2.feature 有以下代码:
Scenario: Test01: This is a common test
When def result = call read('classpath:Project/Tests/Test01.feature')
Then match result.testStatus == 'pass'
所以当我运行空手道时,我注意到它运行了两次,每次嵌套调用一次。
所以我的问题是,有没有办法重用测试的结果,如果它已经运行过一次,它就不会再次运行它,而是重用前一个的结果。
解决方案
我使用了 Karate.callSingle。@PeterThomas 关于空手道钩子的回答也会有所帮助
Feature1.feature,Feature2.feature
Scenario: Test01: This is a common test
When def result = karate.callSingle('classpath:Project/Tests/Test01.feature')
Then match result.testStatus == 'pass'
这样,如果您有多个其他嵌套调用,您可以将它们添加到上述模式中
推荐阅读
- apache-spark - 当我使用 C:\hadoop\bin\winutils.exe 运行 chmod 时,它显示“应用程序无法正确启动”
- python - Tensorflow 通用句子编码器中的 OpError
- python - Tensorflow dataset.map lambda自定义函数不适用于每张图像,仅适用于整个数据集
- reactjs - 如何在 React js web APP 中添加编辑器并将数据存储在 mongodb 中
- python - 我无法使用 pyinstaller 创建独立的 exe 文件,主脚本包含 Qprocess
- javascript - 如何将查询语法解析为具有分组和优先级的数据库查询?
- kubernetes - Pod 在创建时会消耗其请求或限制中指定的全部资源吗?
- c# - FluentEmail.Razor 值不能为空。参数名称:operatingAssembly
- node.js - Webpack 构建失败,没有打印错误信息
- next.js - 在 Next.js 中将函数作为道具传递