处理/传递小黄瓜中的要素文件中的多个参数

时间:2016-01-04 18:36:40

标签: c# automation bdd acceptance-testing gherkin

如何使用功能传递多个参数。

我知道使用"例子:"概念,但它使某些特征文件更加复杂,并且在某种程度上是不可读的

示例:

Scenario Outline: To verify that default value for some timeout when invalid/remove is set for some timeout parameter

When <parameterA> is <action> with <parameterB> for <someOtherParameterPair> in <fileName>
Then <parameterA> is updated with value <parameterB> for <someOtherParameterPair> in <fileName> as per defined <action>
Examples:
|parameterA  |parameterB  |action|someOtherParameterPair|fileNameWithSectionName|
|oneParameter|twoParameter|update|key:Value             |abc.config:appSettings |
|oneParameter|twoParameter|delete|key:Value             |def.config:appSettings |

在这里,我有大约7个来自testcase的参数(由于限制,我试图在5个参数中容纳)

我会分裂&#34; someOtherParameterPair&#34;和&#34; fileNameWithSectionName&#34;使用split in step definition文件分成两个。总的来说,我有大约7个参数将在测试用例中使用。

但我不确定是否接受来自Given / When / Then语句的大量参数是可行的。它也使我的测试用例不可读。

在上面的场景中,我试图修改一些参数(我从特征文件中传递,以便我的When / Then语句可以修改)存在于某个位置的* .config文件中。

之后我需要执行测试用例。

同样地,我的测试套件中还有其他(大多数)案例。

请帮助我BDD正确的方法。 BDD是否会在维护中产生一些问题,因为我看到很多东西(几乎所有东西都来自)特征文件。

1 个答案:

答案 0 :(得分:0)

答案是不要写这样的功能。不是使用您的功能来描述您正在测试的how,而是使用它来解释您正在测试的what以及您正在测试它的why

通常这意味着您不需要使用示例,您当然也不需要使用像您这样的复杂示例。您始终可以将示例的使用范围缩小到较低级别,例如步骤定义。

在这种情况下,您似乎应该编写单元测试。此方案中没有描述任何商业价值。

BDD是关于描述行为并使用它来推动开发。你写完之后就不能用它来测试!!

相关问题