Фон огурца и сохраняющиеся сценарии (или предпосылки) - PullRequest
6 голосов
/ 10 февраля 2011

У меня была эта проблема Сценарии огурцов для очень длинного рабочего процесса

И теперь я пишу изолированные сценарии для каждого из длинных серий этапов, состоящих из нескольких частей.У меня есть раздел Background, который настраивает каждый Scenario.Но теперь, когда я запускаю всю функцию, огурец хочет повторить Background для каждого Scenario.Я хочу протестировать Scenario, который основывается на всех предыдущих.

Вот примерная схема того, как выглядит моя функция:

Feature: Submit a manuscript
  In order to complete a manuscript submission
  As a corresponding author
  I want to complete the to-do list

  Background:
    Given I am logged in as "Steve"
    And an article_submission "Testing Web Apps" exists
    And "Steve" is a "Corresponding Author" for "Testing Web Apps"
    And I am on the manuscript to-do list page for "Testing Web Apps"

  Scenario: Steve suggests reviewers for his manuscript
    ...
  Scenario: Steve completes the manuscript fees to-do item
    ...
  Scenario: Steve wants to add Barbara as a co-author
    ...
  Scenario: Steve uploads necessary files
    ...
  Scenario: Steve edits the fees page and general information page
    ...
  Scenario: Steve re-uploads the manuscript file
    ...
  Scenario: Steve completes the Copyright Transfer
    ...
  Scenario: Steve completes Author Responsibilities & Agreement
    ...
  # These scenarios depend on all the previous ones having run  
  Scenario: Steve Completes submission
    ...
  Scenario: Steve goes back and make changes
    ...
  Scenario: Steve fills out payment page

Есть ли способ требовать запуска предыдущих сценариев?И есть ли способ запустить Background только один раз?

1 Ответ

2 голосов
/ 19 февраля 2011

Я решил «заморозить» приложение в том состоянии, в котором оно было сразу после запуска функции.Я сделал это, добавив хуки, которые выгружают и загружают базу данных.

В features/support/hooks.rb У меня есть:

After('@complete-submission') do
  # Dump the database
  exec "mysqldump -u root --password=### onc_test > #{Rails.root}/support/submission.sql"
end

Before('@load-submission') do
  # Load the database
  exec "mysql -u root --password=### onc_test < #{Rails.root}/support/submission.sql"
end

Это работает в основном, за исключением того, что @load-submission не может работать приСценарий, но база данных загружена.Поэтому я должен запустить его снова без тега.Может быть, кто-то может помочь мне разобраться в этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...