Как получить заводскую модель для сохранения в MySQL перед запуском сценария? - Рельсы 2 и огурец - PullRequest
0 голосов
/ 17 декабря 2011

Когда я запускаю следующее из консоли @county = FactoryGirl.create (: state), в MySQL добавляется новая строка State, однако при вызове того же кода с использованием файла шага добавляются только строки страны и региона то есть ни одна строка состояния не добавляется, отсутствие состояния в БД приводит к сбою большей части моего теста, и я не могу понять, почему.

Я использую Rails 2.3.2, огурец 1.1.4, капибару 1.0.1 и селен

Файл factory.rb:

require 'factory_girl'

FactoryGirl.define do
     factory :country do |f|
       f.name 'USA'
       f.country_code 'US'
       f.currency_code 'USD'   
     end

    factory :region do |f|
      f.name 'East Coast'
      f.association :country   
    end

    factory :state do |f|
      f.name 'CA'
      f.association :region
      f.association :country   
    end     

конец

вот файл .feature:

Feature: New User Registration

  Scenario: A user should be able to create an account 
    Given there is a state
    And I am on the new user registration page
    ...

и файл шага аутентификации:

Given /^there is a state$/ do
  @county = FactoryGirl.create(:state)
end

1 Ответ

0 голосов
/ 17 декабря 2011

Ваш шаг аутентификации показывает, что вы присваиваете объект :state для @country ... это может быть причиной, или это опечатка?

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