我是黄瓜测试的新手。
我创建了两个功能文件:
events.feature
partner.feature
并将我的步骤定义放在 step_definitions 文件夹中:
./step_definitions/
events.rb
partner.rb
似乎 Cucumber 在所有 .rb 文件中查找步骤信息。
无论如何限制该功能以查看特定的步骤定义文件?
我为什么要这样做的原因是因为我得到了不明确的匹配错误,即使我使用了 --guess 标志。
我为什么要这样做是出于以下原因。我正在测试一个 CMS,并希望在不同的功能中测试每种不同的内容类型(事件和合作伙伴)。
事件.功能
Feature: Add partner
As an administrator I can add a new partner
Scenario: Create partner
Given I am logged in
When I create a partner
Then I should see content
合作伙伴特征
Feature: Add event
As an administrator I can add a new event
Scenario: Create event
Given I am logged in
When I create an event
Then I should see content
只关注两种情况下的“然后我应该看到内容”,就会发生错误,因为在 .rb 文件中我需要包含:
合作伙伴.rb
Then /^I should see content$/ do
BROWSER.html.should include('SOME PARTNER CONTENT')
end
事件.rb
Then /^I should see content$/ do
BROWSER.html.should include('SOME EVENT CONTENT')
end
这意味着存在“我应该看到内容”的模糊匹配。
我知道有不同的结构方式,即我可以创建一个内容功能,并使用场景大纲:
Feature: Add content
As an administrator I can add a new content
Scenario Outline: Create content
Given I am logged in
When I create an <content type>
Then I should see <example content>
Examples:
|event |March Event |
|partner |Joe Blogs |
但我不想这样做,因为我想将每种内容类型封装在它们自己的测试功能中。
所以基本上我需要根据我正在测试的功能来研究如何运行特定的步骤文件。