2017-07-19 91 views
1

的子情況我有一個sample.feature文件以下情形定義,場景與使用Examples語法兩個子情況:使用的行爲標籤只執行這樣的標籤

@ninja 
    Scenario Outline: this is a sample scenario 
    Given ... 
    And ... 
    And .. 
    When ... 
    Then ... 

    Examples: 
     | param1 | param2 | param3 | 
     |  10 |  4 |  9 | 
     |  20 |  8 |  23 | 

我可以使用標籤ninja以僅執行情況,在sample.feature文件中定義的所有其他人之間,具體如下:

$ behave sample.feature --tags=ninja 
... 
Scenario Outline: this is a sample scenario -- @1.1 
... 
Scenario Outline: this is a sample scenario -- @1.2 
... 

注意行爲「標記」每個子情況執行,即在execu @1.1@1.2日誌。

我想知道,如果我可以更「尖銳」,並使用行爲只執行給定標記的一個子集(或子集)。我嘗試了以下方法,但沒有運氣(即兩個子代都執行,不僅僅是第二個):

$ behave sample.feature --tags=ninja,1.2 

這可能嗎?請幫忙解釋一下怎麼做?

回答

1

是,有可能在一個場景概要(實施例)來執行只有一行,首先需要定義在標籤佔位符到特徵文件,例如:
@test.row<row.id>Reference in Behave

後,執行:

的行爲example.feature -t @test.row1.2- 只運行該行:這個標籤2。

而且它是更多鈔票創建幾個例子,像這樣:

Examples: 
     | param1 | param2 | param3 | 
     |  10 |  4 |  9 | 
     |  20 |  8 |  23 | 
    Examples: 
     | param1 | param2 | param3 | 
     |  30 |  12 |  1 | 
     |  40 |  13 |  45 | 
     |  50 |  14 |  49 | 
     |  60 |  15 |  13 | 

而且,

的行爲example.feature -t @test.row2.4- 只運行該行: 4在第二個示例中使用此標記:

 |  60 |  15 |  13 |