如何在Gherkin中拆分含字符串数组的步骤语句至多行?
解决Gherkin长数组步骤的换行问题
我完全懂你遇到的困扰——当Gherkin步骤里的字符串数组太长,想拆成两行却发现之前用的三重引号写法没效果对吧?其实问题出在你用三重引号的方式不对,Gherkin里有几种更合适的方案来处理这种长列表:
方法1:正确使用多行字符串(Triple Quotes)
Gherkin的三重引号是用来包裹完整的多行文本块的,不能插在数组中间拆分。你可以把整个数组内容单独放在三重引号块里,和步骤描述分开:
Then Drop-down patient_breed contains: """ ['Breed1', 'Breed2', 'Breed3', ..., 'Breed20'] """
如果想要更清晰,甚至可以把每个元素单独占一行,之后在步骤定义里把这些行转换成数组:
Then Drop-down patient_breed contains the following breeds: """ Breed1 Breed2 Breed3 ... Breed20 """
方法2:用Data Table(推荐)
这是Gherkin处理列表类数据最规范、可读性最强的方式,尤其适合元素较多的情况:
Then Drop-down patient_breed contains these breeds: | Breed | | Breed1 | | Breed2 | | Breed3 | | ... | | Breed20 |
在你的步骤定义代码里,可以直接读取这个Data Table的内容,把每一行的Breed列值收集成数组,逻辑清晰又好维护。
之前你的写法无效,是因为三重引号被插在了数组字符串的中间,Gherkin无法识别这种拆分方式,必须把整个需要换行的内容作为一个独立的三重引号块来使用哦。
内容的提问来源于stack exchange,提问作者S.Manko
相关产品推荐
相关产品推荐

