我正在写一个Gherkin功能文件,例如
Given the following # data
And I open the page
Then all fields are correct
我不希望上面的#
被解释为注释,之后会删除data
。
官方Gherkin逃脱#
符号的方式是什么?我查看了official documentation和guide,似乎都没有回答我的问题。
我尝试在我的解析器中使用发明的HTML实体&hash;
,它可以正常编写正则表达式。如果我使用官方HTML实体#
或使用反斜杠转义(例如 \#
),任何一个选项本身都会包含#
符号并使解析更难。但是,最后,如果可能的话,我宁愿使用官方方法,即使实施起来有点困难。
提前致谢!
答案 0 :(得分:2)
ruby和java实现中使用的语法可以在这里找到:https://github.com/cucumber/gherkin/blob/master/ragel/lexer_common.rl.erb
看起来没有为评论定义任何转义,但由于小黄瓜是一种基于行的语法,我不希望评论在步骤后实际被内联识别。与
中的语法突出显示相反Given the following # data
When I open the page
我希望该步骤的内容包含所有内容,包括" #data"一部分。
这也是我对https://github.com/cucumber/cucumber/wiki/Gherkin#gherkin-syntax
中描述的解释评论行可以在文件中的任何位置使用。它们以零或多个空格开头,后跟一个井号(#)和一些文本。