我有一个功能,需要测试许多场景,其中用户以多个可能的角色登录(结果应该相同)。
是否可以将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功能文件,而不是为每个角色维护一个单独的功能文件。这可能吗?
答案 0 :(得分:0)
不,这是不可能的。你可以得到的最接近的是一个步骤定义&#34;我登录了一个常见的角色(销售,支持,管理,审计)和#34;每次随机选择实际角色的地方。这当然会使你的测试不确定,如果你100%肯定这个角色真的对结果没有任何影响,这可能是可以接受的。当然,在这种情况下,您应该考虑在您的方案中根本不提及该角色。
答案 1 :(得分:0)
请记住,BDD实际上并不是关于测试。我们使用示例来说明我们想要的行为。您只需要一个提供行为示例的场景。
如果其中一个角色提供了不同的行为,那么也有一个该行为的示例。
测试所有角色的结果是相同的更好的地方可能是在单元测试级别,无论哪个类将角色链接到不同的结果。当然,您可以手动测试它。机会非常好,如果你做对了并且它可以手动工作,那么如果不打破你所拥有的一个例子,它就不会破坏。这就够了。
如果你尝试覆盖这样的每个角色的每个排列,你最终会得到一个非常慢的构建和太多的场景,其中没有一个是有趣的。考虑一下你试图说明的内容的例子,而不是测试,你会有更轻松的时间。