使用 behave 标签只执行此类标签的一个子案例
Use behave tags to execute only a subcase of such tag
我在 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
...
请注意,每个子案例执行的行为 "marks",即执行日志中的 @1.1
和 @1.2
。
我想知道我是否可以 "sharp" 并使用 behave 仅执行给定标签的一个(或一个子集)子案例。我尝试了以下方法,但没有成功(即两个子案例都被执行,而不仅仅是第二个):
$ behave sample.feature --tags=ninja,1.2
这可能吗?请问有什么方法可以帮助吗?
是的,一个Scenario Outline (Examples)中可以只执行一行,首先需要在标签中定义一个占位符到特征文件中,例如:
@test.row<row.id>
Reference in Behave
之后,执行:
behave example.feature -t @test.row1.2
-- run only the row: 2 with this tag.
也可以创建几个示例,如下所示:
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 |
而且,
behave example.feature -t @test.row2.4
-- run only the row: 4 in the second examples with this tag:
| 60 | 15 | 13 |
我在 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
...
请注意,每个子案例执行的行为 "marks",即执行日志中的 @1.1
和 @1.2
。
我想知道我是否可以 "sharp" 并使用 behave 仅执行给定标签的一个(或一个子集)子案例。我尝试了以下方法,但没有成功(即两个子案例都被执行,而不仅仅是第二个):
$ behave sample.feature --tags=ninja,1.2
这可能吗?请问有什么方法可以帮助吗?
是的,一个Scenario Outline (Examples)中可以只执行一行,首先需要在标签中定义一个占位符到特征文件中,例如:
@test.row<row.id>
Reference in Behave
之后,执行:
behave example.feature -t
@test.row1.2
-- run only the row: 2 with this tag.
也可以创建几个示例,如下所示:
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 |
而且,
behave example.feature -t
@test.row2.4
-- run only the row: 4 in the second examples with this tag:
| 60 | 15 | 13 |