【问题标题】:Creating Rowtests with SpecFlow使用 SpecFlow 创建行测试
【发布时间】:2012-05-28 08:28:34
【问题描述】:

我正在尝试使用 SpecFlow 和 Microsoft 内置的测试框架创建行测试,类似以下内容:

场景大纲:测试计算器 鉴于我已在计算器中输入 我已经在计算器中输入了 当我按添加 那么结果应该是屏幕上的 例子: | x |是 |结果| | 1 | 2 | 3| | 2 | 2 | 4|

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

【问题讨论】:

    标签: specflow rowtest


    【解决方案1】:

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

    场景大纲:测试计算器 鉴于我在计算器中输入了“” 我已经在计算器中输入了“” 当我按添加 那么结果应该是屏幕上的“” 例子: | x |是 |结果| | 1 | 2 | 3| | 2 | 2 | 4|

    【讨论】:

    • 嗯,很奇怪。 official documentation 表示 VS2010 不支持行测试。
    • 我在 VS 2012 更新 2 中遇到了同样的问题。奇怪的是,我在更新 1 中编写了一些没有引号的功能,它就像一个魅力。从那以后可能会发生一些变化。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-21
      • 2022-01-02
      • 1970-01-01
      • 1970-01-01
      • 2016-02-11
      • 1970-01-01
      相关资源
      最近更新 更多