Функции огурца и определения шагов

Я новичок в тестировании Cucumber.

Я создал два файла функций:

events.feature
partner.feature

и получил свой шаг определений в папке step_definitions:

./step_definitions/
     events.rb
     partner.rb

Похоже, Cucumber ищет информацию о шаге во всех файлах .rb.

Есть ли способ ограничить функцию, чтобы она просматривала конкретный файл определения шага?

Причина в том, что Причина, по которой я хочу это сделать, заключается в том, что я получаю ошибки неоднозначного соответствия, даже когда я использую флаг --guess.

Причина того, почему я хочу это сделать, заключается в следующих причинах. Я тестирую CMS и хочу протестировать каждый из различных типов контента (события и партнеры) в отдельных функциях.

events.feature

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

partner.feature

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 мне нужно включить:

partners.rb

Then /^I should see content$/ do
  BROWSER.html.should include('SOME PARTNER CONTENT')
end

events.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   | 

Но я не хочу этого делать, потому что я хочу инкапсулировать каждый тип контента в отдельный тестовая функция.

По сути, мне нужно решить, как запускать определенные файлы шагов в соответствии с функцией, которую я тестирую.

5
задан JonB 3 August 2011 в 10:50
поделиться