Karate 呼叫空手道功能,包括内部的另一个呼叫

Karate 呼叫空手道功能,包括内部的另一个呼叫,karate,Karate,我试图调用一个功能文件,它也在调用内部的另一个。我调用的功能位于另一个目录中。 因此,当我执行场景时,它看起来是在错误的地方 以下是一个例子: -scenarios --directoryA ---feature1 ---feature2 --directoryB ---feature3 在执行功能3后我得到的错误: feature2.feature:9 - javascript evaluation failed: read('feature1.feature'), java.io.File

我试图调用一个功能文件,它也在调用内部的另一个。我调用的功能位于另一个目录中。 因此,当我执行场景时,它看起来是在错误的地方

以下是一个例子:

-scenarios
--directoryA
---feature1
---feature2
--directoryB
---feature3
在执行功能3后我得到的错误:

feature2.feature:9 - javascript evaluation failed: read('feature1.feature'), java.io.FileNotFoundException: /Users/svetoslavlazarov/project/src/test/java/scenarios/directoryB/feature1.feature (No such file or directory)
这里的问题是对feature1的调用位于错误的目录中。 它应该关注目录A,而不是目录B。 但是,如果我单独执行scenario2,就可以了

你能帮我吗? 谢谢。

试试这个:

* def testCall = call read('this:feature1.feature')

当我添加这个时,它就工作了。谢谢你的回答,彼得·托马斯!你能给出一些在这种情况下如何工作的见解吗?:)@SolarField
这个
实际上是一个没有文档记录的功能,因为我相信你不应该做太多的嵌套功能调用:)
这个
意味着它是相对于“当前”功能文件的。@Adrien它应该
feature2.feature:9 - javascript evaluation failed: read('feature1.feature'), java.io.FileNotFoundException: /Users/svetoslavlazarov/project/src/test/java/scenarios/directoryB/feature1.feature (No such file or directory)
* def testCall = call read('this:feature1.feature')