使用示例表进行的Specflow测试显示测试运行器中的参数为空

时间:2019-12-20 14:31:15

标签: c# visual-studio nunit specflow

我有以下Specflow场景:

Scenario: CasingMentions
    When User mentions everyone with <casing> casing
    Then user should be able to see the message they just sent
    Examples: 
    | casing |
    | lower  |
    | mixed  |
    | upper  |

步骤定义是这样的,该方法只需要一个字符串:

[When(@"User mentions everyone with (.*) casing")]

这一切都可以很好地运行,但是在Visual Studio的测试运行器中,它表明有一个空参数,因此上述情况将在测试运行器中显示为3个单独的测试,名称如下:

CasingMentions("lower",null)
CasingMentions("mixed",null)
CasingMentions("upper",null)

在feature.cs文件中,外观如下:

    [NUnit.Framework.TestAttribute()]
    [NUnit.Framework.DescriptionAttribute("CasingMentions")]
    [NUnit.Framework.TestCaseAttribute("lower", null)]
    [NUnit.Framework.TestCaseAttribute("mixed", null)]
    [NUnit.Framework.TestCaseAttribute("upper", null)]
    public virtual void CasingMentions(string casing, string[] exampleTags)
    {

我认为它与步骤定义无关,因为我可以将示例粘贴到不带参数的场景中,并且仍然可以做到这一点

这里有一个视频,展示了我遇到的问题:https://youtu.be/vC87WMFfJ4Y?t=438

有什么方法可以摆脱null吗?对于使用示例表的每个场景,都会发生这种情况,如果使用场景或场景大纲,这似乎没有什么不同。如果重要的话,我将NUnit用作测试运行程序。

我也尝试过添加带有唯一值的额外列,以这种方式命名测试用例,但是它们只是作为另一个参数出现在括号中。

0 个答案:

没有答案