是否可以重用已在其他嵌套功能文件中运行的测试结果?



我是空手道框架:)

新手我目前正在查看 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'

所以当我运行空手道时,我注意到它运行两次,每个嵌套调用一次。

所以我的问题是,有没有办法重用测试结果,这样如果它已经运行过一次,它就不会再次运行它,而是重用前一个的结果。

我认为您正在寻找"钩子",因此请参阅文档:https://github.com/intuit/karate#hooks

所以我认为这种模式就是你要找的:

Background:
* def result = callonce read('classpath:Project/Tests/Test01.feature')
Scenario:
* match result.testStatus == 'pass'

我使用了Karate.callSingle。@PeterThomas关于空手道钩子的回答也会有所帮助

功能1.功能, 功能2.功能

Scenario: Test01: This is a common test
When def result = karate.callSingle('classpath:Project/Tests/Test01.feature')
Then match result.testStatus == 'pass'

这样,如果您有多个其他嵌套调用,则可以将它们添加到上面的模式中

相关内容

  • 没有找到相关文章

最新更新