您能否在其他嵌套特征文件中重用已经 运行 的测试结果?
Can you reuse results of tests that have already been run in other nested feature files?
我是空手道框架的新手:)
我目前正在研究 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'
所以当我 运行 空手道时,我注意到它 运行 两次,每次嵌套调用一次。
所以我的问题是,有没有一种方法可以重用测试结果,如果它已经 运行 一次,它就不会再次 运行 而是重用结果来自上一个。
我认为您正在寻找 "hooks",因此请参阅文档:https://github.com/intuit/karate#hooks
所以我认为这个模式就是你要找的:
Background:
* def result = callonce read('classpath:Project/Tests/Test01.feature')
Scenario:
* match result.testStatus == 'pass'
我用过Karate.callSingle. Also @PeterThomas' answer regarding Karate Hooks会有帮助
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'
这样,如果您有多个其他嵌套调用,您可以将它们添加到上述模式中
我是空手道框架的新手:)
我目前正在研究 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'
所以当我 运行 空手道时,我注意到它 运行 两次,每次嵌套调用一次。
所以我的问题是,有没有一种方法可以重用测试结果,如果它已经 运行 一次,它就不会再次 运行 而是重用结果来自上一个。
我认为您正在寻找 "hooks",因此请参阅文档:https://github.com/intuit/karate#hooks
所以我认为这个模式就是你要找的:
Background:
* def result = callonce read('classpath:Project/Tests/Test01.feature')
Scenario:
* match result.testStatus == 'pass'
我用过Karate.callSingle. Also @PeterThomas' answer regarding Karate Hooks会有帮助
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'
这样,如果您有多个其他嵌套调用,您可以将它们添加到上述模式中