首页 > 解决方案 > 您可以重用已经在其他嵌套功能文件中运行的测试结果吗?

问题描述

我是空手道框架的新手 :)

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

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

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

标签: cachingresultsetkarate

解决方案


我使用了 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'

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


推荐阅读