如何提取在使用空手道自动化对 java 服务进行端点调用期间设置的特征文件中的变量值?

问题描述 投票:0回答:1

在 MyService.java 文件的函数中有一个变量“dummyVariable”。现在我调用端点“dummyEndpoint”,将“dummyVariable”的值设置为 true 或 false。

我想在通过 call() 方法使用空手道特征文件调用“dummyEndpoint”后提取“dummyVariable”的值。

此外,我想根据该值为 true 或 false 在功能文件中执行不同的操作。基本上,这可以被视为在端点调用期间了解 java 服务中的实验是打开还是关闭。

更清晰的解释-> 从空手道文件调用 dummyEndpoint -> 在 java 服务中设置变量的值 -> 希望在调用完成后提取该值。

//MyKarateFile .feature 文件

Scenario: Make a call to service
  Given url baseUrl
  And path ‘/some-path’
  And header Authorization = api
  And param environment = env
  And request req
  When method POST
  Then status 200
  //want to check dummyVariable 's value here

//MyService.java

private final DummyVariableSetter dummyVariableSetter;
public int myFunction() {
    boolean dummyVariable = dummyVariableSetter.isDummyVaribaleOn();
    if(!dummyVariable) return 0;
    return 1;
}

//DummyVariableSetter .java

public boolean isDummyVaribaleOn() {
    return getVersion(“some-property”) >= 0;
}

尝试使用空手道的 exits() 方法但没有成功。

java karate karate-call-single
1个回答
0
投票

通常团队在这种用例中使用

karate.callSingle()
https://stackoverflow.com/a/56853597/143475

如果您坚持使用 Java,请按照此处所述使用单例:https://stackoverflow.com/a/54571844/143475

请注意,相互依赖的测试不是一个好的做法,并且 Karate 不支持:https://stackoverflow.com/a/46080568/143475

© www.soinside.com 2019 - 2024. All rights reserved.