BDD Gherkin脚本:针对多个角色的相同组合

时间:2016-10-13 13:31:42

标签: testing cucumber bdd gherkin

我有一个功能,需要测试许多场景,其中用户以多个可能的角色登录(结果应该相同)。

是否可以将Examples表放入后台?例如:

Feature: My general set of tests

Background:
Given I am logged in 
And I am logged in as <role>

Examples:
| role    |
| Sales   |
| Support |
| Admin   |
| Auditor |

Scenario: tests1 blah...

Scenario Outline: tests 2 blah...

所以我想要做的是使用不同的Background上下文遍历who功能文件,而不是为每个角色维护一个单独的功能文件。这可能吗?

2 个答案:

答案 0 :(得分:0)

不,这是不可能的。你可以得到的最接近的是一个步骤定义&#34;我登录了一个常见的角色(销售,支持,管理,审计)和#34;每次随机选择实际角色的地方。这当然会使你的测试不确定,如果你100%肯定这个角色真的对结果没有任何影响,这可能是可以接受的。当然,在这种情况下,您应该考虑在您的方案中根本不提及该角色。

答案 1 :(得分:0)

请记住,BDD实际上并不是关于测试。我们使用示例来说明我们想要的行为。您只需要一个提供行为示例的场景。

如果其中一个角色提供了不同的行为,那么也有一个该行为的示例。

测试所有角色的结果是相同的更好的地方可能是在单元测试级别,无论哪个类将角色链接到不同的结果。当然,您可以手动测试它。机会非常好,如果你做对了并且它可以手动工作,那么如果不打破你所拥有的一个例子,它就不会破坏。这就够了。

如果你尝试覆盖这样的每个角色的每个排列,你最终会得到一个非常慢的构建和太多的场景,其中没有一个是有趣的。考虑一下你试图说明的内容的例子,而不是测试,你会有更轻松的时间。