.net 我们可以在bdd场景中使用“或”吗

.net 我们可以在bdd场景中使用“或”吗,.net,bdd,specflow,.net,Bdd,Specflow,我不确定我是否可以这样写场景,我需要在3和4位置传递不同的值?让我知道如何在同一位置传递不同的值 谢谢 DR简单的回答是: 使用多个场景 长版本: 您试图遵循的过程有时被称为示例规范。如果您仔细阅读了这篇文章,您会发现其目的是使用足够多的示例来测试您的场景,这些示例涵盖了足够多的不同代码路径。测试的确切数量由您决定,但它应该少于完整的测试集,因为覆盖每一个事件太耗时了。相反,您正在寻找合理的商业案例,以帮助您实现软件运行的最终目标 现在我们选择Specflow,因为它可以主要用于业务领域,也就是

我不确定我是否可以这样写场景,我需要在3和4位置传递不同的值?让我知道如何在同一位置传递不同的值

谢谢 DR

简单的回答是:

使用多个场景

长版本:

您试图遵循的过程有时被称为示例规范。如果您仔细阅读了这篇文章,您会发现其目的是使用足够多的示例来测试您的场景,这些示例涵盖了足够多的不同代码路径。测试的确切数量由您决定,但它应该少于完整的测试集,因为覆盖每一个事件太耗时了。相反,您正在寻找合理的商业案例,以帮助您实现软件运行的最终目标

现在我们选择Specflow,因为它可以主要用于业务领域,也就是说,我们用英语描述事物,而不是用低级代码。我建议您的示例的语言级别远低于Specflow,并且您的场景非常长且详细

如果你有能力,试着将你的场景重新表述一个层次。想一想S1或13代表什么,并隐藏Specflow中的细节

Given I have a request \**8  
And   I create the following  match strength String in the \***  
|position    | Input String                                    |  
| 3 & 4      |  "NM" or "H1" or "S1" or "S2" or "L1" or "L2"   |  
| 9 to 13    | "Delphi Score"                                  |  
When I execute request ***
如果您不能做到这一点,那么只需为这些关键示例提供多个场景即可

Given I have a new request to match series one delphi scores
When I execute my request
...

etc

在Specflow中,你不能做你想做的事,我不相信。但您可以将场景更改为a,并执行以下操作:

Scenario: match S1 deplhi scores
  ...
Scenario: match NM delphi scores
  ...
等等


很难说得更具体,因为我对您的问题中的域了解不够

您希望传递哪些值?你能写一个你想用测试值来完成的步骤的例子吗?我认为你不应该像这样在场景描述中使用精确的字符串。概念是什么,您试图捕获的业务可理解场景?我想将NM或H1字符传递到交易项中的3和4数字位置,例如:MRNM234xxxxxx接受标准:具有有效的匹配强度结果,即位置3和4中的一个可能匹配强度分数,如“NM”或“H1”。不清楚您在问什么,在lesat,部分原因是您的问题明显丢失了一些语义格式,例如表格结构。不幸的是,我们无法重新添加格式,而不可能对您的问题做出错误的假设,因此如果您自己这样做会更好。有关如何将标记应用于问题的说明,请参阅。
Scenario Outline:  
Given I have a '<request>'  
And   I create the following  match strength String in <position> with input string '<input string>'  
When I execute the '<request>'
Then I get result <result>
Scenarios:
|Request         |position    | Input String   |  result |
| "some request" | 3          |  "NM"          |  true   |
| "some request" | 4          |  "NM"          |  false  |
| "some request" | 3          |  "HI"          |  true   |
| "some request" | 3          |  "HI"          |  true   |