我有以下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用作测试运行程序。
我也尝试过添加带有唯一值的额外列,以这种方式命名测试用例,但是它们只是作为另一个参数出现在括号中。