簡體   English   中英

我們可以在bdd場景中使用“或”嗎

[英]Can we use “or” in bdd scenario

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 ***

我不確定我是否可以編寫這樣的方案,我需要在3和4位置傳遞不同的值? 讓我知道如何在同一位置傳遞不同的值?

謝謝博士

簡短的答案是:

使用多種情況

長版:

您嘗試遵循的過程有時被稱為“ 規范舉例” 如果您對此進行了閱讀,您將發現其目的是使用足夠多的示例來測試您的方案,這些示例涵蓋了足夠的不同代碼路徑。 精確的測試次數取決於您,但是它應該少於完整的測試次數,因為覆蓋每個單獨的事件都非常耗時。 相反,您正在尋找合理的業務案例,這些案例可以使您實現軟件功能的最終目標。

現在我們選擇Specflow,因為它可以主要用於業務領域,即我們用英語而不是低級代碼來描述事物。 我建議您的示例所使用的語言水平遠低於適用於Specflow的語言水平,並且您的方案非常冗長而詳細。

如果有能力,請嘗試將您的方案重新上一級。 考慮一下S113代表什么,並從Specflow中隱藏細節。

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

如果您不能這樣做,那么只需為這些關鍵示例提供多種方案

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

等等

我不相信,您無法在Specflow中做您想做的事情。 但是您可以將方案更改為方案大綱,並執行以下操作:

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   |

由於您對我的域名了解不夠,因此很難具體說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM