验证黄瓜/小黄瓜中的许多田地的最佳实践是什么?

时间:2018-10-17 16:17:53

标签: bdd cucumber-jvm gherkin acceptance-testing atdd

验证在cucmber / Gherkin中包含多个相关字段的REST响应的最佳实践是什么?我们使用的是方案大纲,因此可以通过示例表对事物进行参数化。

以下是我考虑过的一些方法:

最简单的方法是将每个字段添加为示例表中的一列。但这很快变得非常难以理解,因为示例表超出了屏幕的宽度,在每种形式的And the <fieldName> should be <value>中,我们最终完成了将近十二个步骤。这非常冗长,显然与小黄瓜旨在模仿自然语言的精神背道而驰。

接下来,我考虑将响应主体整体放入JSON格式的文件中,并像And the response matches <file containing expected response>这样的单个步骤进行验证(示例表仅包含文件的路径)。但是,由于实际字段和数据值隐藏在另一个文件中,因此这使我在测试中验证的内容变得非常不透明。此外,我已经阅读到测试步骤不应与数据的确切格式(JSON,XML或其他)有关。

此后,我阅读了this article,该步骤之后使用垂直表来指定多个字段。结果是这样的:

And the response contains:
| field1 | value1 |
| field2 | value2 |

但是,我不确定如何将其参数化。单个原子值进入示例表中的一列,但其他整个表又如何呢?我调查了是否支持嵌套表,但似乎有人认为它是unreadable and bad practice as well

那么,这种情况下的最佳常规做法是什么?对于参数化方案,哪种方法在自然语言可读性和准确传达您的期望之间达到最佳平衡?

0 个答案:

没有答案
相关问题