我想告诉behat用其他域名网址运行每个功能文件。
同一文件夹中有3个不同的域(更改)有3个功能。
domain1.feature
domain2.feature
domain3.feature
它们在同一个FeatureContext.php中执行非常类似的操作,但它们具有不同的参数和一组其他方案(每个域)。项目的性质是将3+个域保留在相同的空间名称中。
我以为我可以用
Feature: "Domain1 Tests"
然后在构造函数中读取它,但不知道在哪里查看或如何。每次更换一个域时,我不想编辑behat.yml。
有人解决了类似的挑战或有任何建议吗?
答案 0 :(得分:2)
在每个功能中使用Background
方案来设置域。
例如:
Background:
Given I am on my_domain domain
Scenario:
或者如果你有相同的场景,你应该编写一些方法来处理基于域或其他参数的数据,并删除重复的场景。
尽量不要复制场景只是为了能够在不同的域上执行它们,这将是一个不好的做法。
答案 1 :(得分:0)
你可以做的一件事是:
domain1.feature
domain2.feature
domain3.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的文件中编写它们。
这意味着您不会复制类似的方案。