尝试在Cucumber特征中使用“示例”部分时出现解析问题

32

在谷歌上没有找到关于此错误消息的任何信息

features/manage_hand_evaluator.feature: 在 features/manage_hand_evaluator.feature 的第21行发现了解析错误。期望出现以下之一:comment、py_string、row、scenario、scenario_outline、step、tag,但是却出现了examples。(当前状态:step) (Gherkin::Parser::ParseError)

这是我为示例部分设置的配置(此时还没有其他场景,只有在“Feature:”部分之后的这一个)

...

Scenario: Evaluating for current straights
  Given I am a player with <hand>
  When the board is <board>
  Then the current possible straights should be <possibles>

  Examples:
    | board | hand |    possibles                  | 
    | A23   | 45   | A2345                         | 
    | 3456  | 23   | A2345,23456,34567,45678       | 
    | 789T  | A2   | 56789,6789T,789TJ,89TJQ       | 
    | 45678 | 23   | 23456,34567,45678,56789,6789T | 

我已经为那些“Given, When, Then”行设置了步骤定义(当我用一些文本替换``,``并注释掉"Examples"部分时,测试通过得很好)。所以看起来步骤定义已经正确设置,只是在.feature文件中有某种解析问题,我无法弄清楚我做错了什么。
相关的gem已安装: Gherkin (2.1.5) (尝试过2.2.0,但它会与我的Cucumber版本冲突) Cucumber (0.8.5) Cucumber-Rails (0.3.2) Rails (2.3.8)
2个回答

79
替换
Scenario:

使用

Scenario Outline:

现在我有足够的权限,投了一票。 - Craig Flannagan
2
这个方法对我也起作用了,不过提醒其他人的一点是,我的错误原因略有不同。尽管我有“Scenario Outline:”,但“Scenario”和“Outline”之间有两个空格而不是一个,这导致了相同的解析错误。把它改成一个空格就可以解决问题了。 - Peter Nixey
在我的情况下,Outline和冒号之间有一个空格!感谢您的评论,我在一段时间后发现了它。 - TimP

3

当您的测试需要扩展到包含示例时,应始终使用Scenario OutlineScenario适用于那些只需要输入一个数据进行测试的测试。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接