我正在尝试使用SpecFlow和Microsoft内置的测试框架创建行测试,这些内容如下:
Scenario Outline: Test Calculator Given I have entered <x> into the calculator And I have entered <y> into the calculator When I press add Then the result should be <result> on the screen Examples: | x | y | result| | 1 | 2 | 3| | 2 | 2 | 4|
我面临的问题是,在Scenario Outline中的任何步骤中,将为Examples表中的每个值自动生成单独的步骤方法。我希望能够为每个步骤实现一个接收输入值作为参数的通用方法,但它似乎不起作用。
答案 0 :(得分:2)
最后它看起来像预期的那样工作,我缺少的是输入参数占位符的引用:
Scenario Outline: Test Calculator Given I have entered "<x>" into the calculator And I have entered "<y>" into the calculator When I press add Then the result should be "<result>" on the screen Examples: | x | y | result| | 1 | 2 | 3| | 2 | 2 | 4|
答案 1 :(得分:0)
我在VS 2012中遇到了同样的问题。我认为它可能是SpecFlow的一个错误,因为当我将场景大纲更改为仅仅是一个场景时,它会正确生成所有内容。所有文档都说你不应该用引号括住占位符。
简而言之,我的解决方案是将其更改为方案以生成步骤。但不要忘记,您必须将其更改回Scenario Outline进行编译。这对我有用。