空手道测试框架:使用示例只有一个断言

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

假设我想测试我的api是否删除了重复的条目。

我目前的步骤是:

1)使用示例多次发布相同的JSON请求,每个请求在不同的场景中:

Scenario Outline:
Given path '/endpoint'
And request
"""
{
  "field1": <field1>
}
"""
When method post
Then status 200

Examples:
  | field1 |
  | value1 |
  | value1 |

2)在新场景中断言没有重复:

Scenario:
Given path '/other_endpoint'
When method get
Then match response.values == [ "value1" ]

这里的问题是我怀疑场景顺序无法保证。有没有办法解决这个问题而不“展开”循环(参见下面的例子)?

Scenario:
Given path '/endpoint'
And request
"""
{
  "field1": value1
}
"""
When method post
Then status 200

Given path '/endpoint'
And request
"""
{
  "field1": value1
}
"""
When method post
Then status 200

Given path '/other_endpoint'
When method get
Then match response.values == [ "value1" ]

PD:我的实际用例需要在示例中至少有20个条目来填充非常大的JSON,因此“展开”循环不是解决方案。

提前致谢。

cucumber cucumber-jvm karate cucumber-java
1个回答
2
投票

尝试如下所述的替代形式的数据驱动测试:https://github.com/intuit/karate#data-driven-features

因此,您可以拥有第二个功能文件,并将其调用为“循环”,并在循环之后执行所需的断言。

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