每个域具有多个功能
Behat multiple features per domain
我想告诉 behat 运行 每个功能文件与其他域 url。
同一文件夹中有 3 个不同域(更改)的 3 个功能。
domain1.feature
domain2.feature
domain3.feature
他们在同一个 FeatureContext.php 中做非常相似的事情,但他们有不同的参数和一组其他场景(每个域)。项目的性质是在同一个空间名称中保留 3 个以上的域。
我以为我可以用
Feature: "Domain1 Tests"
然后在构造函数中阅读此内容,但不确定在哪里查看或如何查看。我不想每次替换一个域时都编辑 behat.yml。
有人解决过类似的挑战或有什么建议吗?
在每个功能中使用 Background
场景来设置域。
例如:
Background:
Given I am on my_domain domain
Scenario:
或者如果你有相同的场景,你应该写一些方法来处理基于域或其他参数的数据,并删除重复的场景。
尽量不要复制场景只是为了能够在不同的域上执行它们,这将是一种不好的做法。
你可以做的一件事是:
domain1.feature
domain2.feature
domain3.feature
common.feature
在你的common.feature中:
Scenario Outline: A common scenario for 3 domains
Given I am on "<domain>"
And I do some setup thing
When I do some action
Then I should see some <outcome>
Examples:
| domain | outcome |
| domain1 | outcome1 |
| domain2 | outcome2 |
| domain3 | outcome3 |
然后,对于特定领域的测试,您可以将它们写入标记为 domain1.feature、domain2.feature 和 domain3.feature 的文件中。
这意味着您不会重复类似的场景。
我想告诉 behat 运行 每个功能文件与其他域 url。
同一文件夹中有 3 个不同域(更改)的 3 个功能。
domain1.feature
domain2.feature
domain3.feature
他们在同一个 FeatureContext.php 中做非常相似的事情,但他们有不同的参数和一组其他场景(每个域)。项目的性质是在同一个空间名称中保留 3 个以上的域。
我以为我可以用
Feature: "Domain1 Tests"
然后在构造函数中阅读此内容,但不确定在哪里查看或如何查看。我不想每次替换一个域时都编辑 behat.yml。
有人解决过类似的挑战或有什么建议吗?
在每个功能中使用 Background
场景来设置域。
例如:
Background:
Given I am on my_domain domain
Scenario:
或者如果你有相同的场景,你应该写一些方法来处理基于域或其他参数的数据,并删除重复的场景。
尽量不要复制场景只是为了能够在不同的域上执行它们,这将是一种不好的做法。
你可以做的一件事是:
domain1.feature
domain2.feature
domain3.feature
common.feature
在你的common.feature中:
Scenario Outline: A common scenario for 3 domains
Given I am on "<domain>"
And I do some setup thing
When I do some action
Then I should see some <outcome>
Examples:
| domain | outcome |
| domain1 | outcome1 |
| domain2 | outcome2 |
| domain3 | outcome3 |
然后,对于特定领域的测试,您可以将它们写入标记为 domain1.feature、domain2.feature 和 domain3.feature 的文件中。
这意味着您不会重复类似的场景。