1

我正在尝试使用 SpecFlow 和 Microsoft 内置测试框架创建行测试,这些内容如下:

场景大纲:测试计算器
  鉴于我已在计算器中输入 <x>
  我已经在计算器中输入了 <y>
  当我按添加
  那么结果应该是屏幕上的 <result>

例子:
  | x | 是 | 结果|
  | 1 | 2 | 3|
  | 2 | 2 | 4|

我面临的问题是,给定方案大纲中的任何步骤,都会为示例表中的每个值自动生成一个单独的步骤方法。我希望能够为每个步骤实现一个接收输入值作为参数的通用方法,但它似乎不起作用。

4

2 回答 2

2

最后,它看起来像预期的那样工作,我缺少的是输入参数占位符周围的引号:

场景大纲:测试计算器
  鉴于我在计算器中输入了“<x>”
  我已经在计算器中输入了“<y>”
  当我按添加
  那么结果应该是屏幕上的“<result>”

例子:
  | x | 是 | 结果|
  | 1 | 2 | 3|
  | 2 | 2 | 4|
于 2012-05-29T08:57:30.680 回答
0

我在 VS 2012 中遇到了同样的问题。我认为这可能是 SpecFlow 的一个错误,因为当我将 Scenario Outline 更改为仅是一个 Scenario 时,它会正确生成所有内容。所有文档都说您不必将占位符括在引号中。

简而言之,我的解决方案是将其更改为 Scenario 以生成步骤。但别忘了,你必须把它改回 Scenario Outline 才能编译。这对我有用。

于 2013-01-07T14:09:52.773 回答