Помощь с данным шагом, который идет на страницу и как зарегистрированный пользователь - PullRequest
0 голосов
/ 06 июня 2011

Мой Scenerio выглядит так:

Given I am on the homepage
As a member
When I follow "new post"
..
..

В моем web_steps.rb я добавил:

When /^As a (.+)$/ do |type|
  @user = Factory(:user, type)
end

Мои заводы находятся в:

/spec/factories.rb
/spec/factories/user.rb

Как мне сослаться на свой factories.rb на мою страницу web_steps.rb? Я делаю это правильно? Теперь эта переменная экземпляра @user - это переменная, которую мой контроллер проверяет, правильно ли она аутентифицирована?

В данный момент я получаю эту ошибку:

features/create_post.feature: Lexing error on line 8: ' As a member'.

Что не так с моей строкой «В качестве члена»?

Обновление

Я заметил, что у меня было:

Когда / ^ Как

Я изменил его на:

As / ^ a

теперь я получаю:

undefined method `As' for main:Object (NoMethodError)

Ответы [ 2 ]

3 голосов
/ 06 июня 2011

Насколько мне известно, «As» недопустимо в сценарии с огурцом.

Ваши строки должны начинаться с «Дано», «Когда», «Тогда» или «И».

Ваш сценарий, вероятно, должен выглядеть как

Given I am logged in as 'User'
When I go to the homepage
And I follow "New post"
Then ...
0 голосов
/ 06 июня 2011

Вместо того, чтобы писать веб-шаги, которые создают экземпляры фабрик, я использую Pickle для этого. Рассол хорош, потому что вам совсем не нужно возиться со своими фабриками в огурцах. Он определяет общие шаги для создания любого заданного фабричного объекта (модели), а также шаги для поиска объектов модели и других вещей.

Райан Бейтс также создал скриншот на рассоле . Скринкасты на Rails - это приятная традиция после обеда в нашем офисе!

Хорошо, удачи,

Иэн.

...