我正在使用空手道框架构建一个测试套件,它有一个非常具体的要求。
我有两个功能文件,每个文件中都有不同的 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 函数,这是合适的解决方案吗?或者有更好的方法吗?我查看了文档的条件逻辑部分,但不确定是否可以将这种类型的逻辑与这些要求结合起来。
为什么您不愿意将这些示例(具有不同的值)分成自己的场景大纲?据我所知,如果两个功能文件都有不同的 API 调用,那么准确地说它们不会被视为单独的用例吗?