Я уверен, что это просто, так как я новый пользователь Rails и хочу сделать Cucumber правильно. Я провел выходные, читая книгу Pragmatic, и у меня есть небольшой проект, который я хочу создать и использовать. Я намеренно настроил свою первую функцию настолько широко, насколько это возможно, чтобы она не была слишком хрупкой в зависимости от того, как она работает со стороны рельсов. Я создал новое приложение rails, используя стартер DanielKehoe на github. Я думаю, что я понял пользователя. Но когда я попытался использовать Cucumber для создания моей первой таблицы ссылочных единиц, которая будет таблицей констант, я ожидал, что cucumber заставит меня создать модель ссылочных единиц, но я потратил все утро, пытаясь заставить ее сделать это, используя книга, Railscasts и stackoverflow, чтобы подтолкнуть меня туда, где я сейчас нахожусь. Я пошел дальше и сгенерировал модель для эталонных единиц, контроллер с новым действием и пустым представлением. Но теперь он не может понять, что у меня есть модель Reference Unit с (LoadError). Странно, потому что это есть в приложении.
Вот моя текущая особенность:
Feature: I want to have Reference Units that I can refer to so they can be used elsewhere. That way
they can be updated in one place. I want to create and edit these Units.
Background:
Given I am logged in as the following user:
| name | "Testy McUserton" |
| password | "please" |
| email | "testy@userton.com" |
Scenario: Adding Reference Units
When I go to the new Reference Units page
And I fill in the following:
| commodity | "corn" |
| language | "en" |
| wholesale unit | "xton" |
| retail unit | "xliter" |
| receipt unit | "dollar" |
Then it should create a new Reference Unit
вот мое определение шага:
Given /^I am logged in as the following user:$/ do |table|
sign_up valid_user
end
When /^I go to the new Reference Units page$/ do
visit new_reference_unit_path
end
When /^I fill in the following:$/ do |table|
@reference_unit = Reference_unit.create!(table.rows_hash)
end
Then /^it should create a new Reference Unit$/ do
pending # express the regexp above with the code you wish you had
end
new_reference_unit_path находится в моей функции / support / paths.rb как:
when /the new Reference Units page/
'/reference_units/new'
Выполнение этого в 3.1.3 следующее: красным:
Scenario: Adding Reference Units # features/user_can_create_units.feature:10
When I go to the new Reference Units page # features/step_definitions/user_create_unit_reference.rb:6
Expected /Users/sam/apps/keriakoo/app/models/reference_unit.rb to define Reference_unit (LoadError)
./app/controllers/reference_units_controller.rb:4:in `new'
./features/step_definitions/user_create_unit_reference.rb:7:in `/^I go to the new Reference Units page$/'
features/user_can_create_units.feature:11:in `When I go to the new Reference Units page'
Как я уже говорил выше. файл reference_unit.rb находится в правильном месте. Конечно, я не добавил никаких методов или атрибутов, ожидая, что огурец поможет мне в нужное время. Я уверен, что это что-то простое, но я попробовал всевозможные комбинации слов и заглавных букв, чтобы что-то расшатать, Сэм