如何为空手道中的功能文件实现复杂的条件逻辑?

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

我正在使用空手道框架构建一个测试套件,它有一个非常具体的要求。

我有两个功能文件,每个文件中都有不同的 API 调用。根据我从“示例”部分传递的测试数据中的值,我需要调用这两个功能文件之一或两者。调用适当的功能文件后,我想将 API 调用的 JSON 响应存储到变量中。

一个功能文件的标题为 xApiTest.feature,另一个功能文件的标题为 yApiTest.feature。

我目前正在尝试使用以下解决方案:

   And def jsonResponses = {}

   And def productTypeDetector =
   """
    ProductType == 'x' ? 'xApiTest.feature' :
    ProductType == 'y' ? 'yApiTest.feature' :
    ProductType == 'Both' ? ['xApiTest.feature', 'yApiTest.feature'] : null

  """
   And def jsonResponses = call read(productTypeDetector) {'myParam': myParam}

使用 JS 函数,这是合适的解决方案吗?或者有更好的方法吗?我查看了文档的条件逻辑部分,但不确定是否可以将这种类型的逻辑与这些要求结合起来。

karate
1个回答
0
投票

为什么您不愿意将这些示例(具有不同的值)分成自己的场景大纲?据我所知,如果两个功能文件都有不同的 API 调用,那么准确地说它们不会被视为单独的用例吗?

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