我创建了一个包含多个功能的功能文件。在我的功能文件中,我的Given和When总是一样的,只有我当时的不同,因为我正在测试不同的输出测量。是否值得为我的Given和When提供一个代码,然后为我的一个代码一次性验证所有输出度量。
如果这是可能的,我将如何去做呢?
示例:
Given Interface is generated
When batch is executed
Then transfer measure is generated
Given Interface is generated
When batch is executed
Then allocation measure is generated
答案 0 :(得分:2)
通常最好将Given
和When
分开,以便更好地阅读您的功能。
在您的情况下,最好的办法是使用Scenario Outline
而不是Scenario
。这允许您使用标记化表来断言多个不同的结果,给出相同的初始步骤:
Scenario Outline: Batch execution works correctly
Given Interface is generated
When batch is executed
Then <measure_type> is generated
Examples:
| measure_type |
| transfer measure |
| allocation measure |
在您的步骤中,您有单独的方法断言已生成正确的measure type
:
[Then(@"transfer measure is generated")]
public void ThenTransferMeasureIsGenerated()
{
// your assertion logic here
}
答案 1 :(得分:0)
对于您的示例
给定接口生成
执行批处理时
然后生成转移措施
给定接口生成
执行批处理时
然后生成分配度量
您可以使用表格并按如下方式进行更改:
Given Interface is generated
When batch is executed
Then '<val>' measure is generated
Examples:
|val|
|transfer|
|allocation|
这将生成一个Then步骤