Как я могу проверить с Cucumber, когда мне требуются данные? - PullRequest
1 голос
/ 10 июня 2011

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

Например: / accounts /: account_id / funds

Мы являемсяиспользуя uuid для учетных записей в качестве: account_id в пути (через to_param)

В моих тестах на огурец я хочу перейти по указанному выше URL, но мне нужно знать uuid для данного пользователя.

Поэтому, как я могу построить путь, который будет работать с данными, которые у меня есть в моей базе данных?

1 Ответ

1 голос
/ 10 июня 2011

Так что лучший способ сделать это - создать все необходимые данные в начале теста. В моем собственном проекте я избегаю заполнения базы данных вне моих сценариев.

Вы можете легко сделать это с помощью конструкции "Given". В качестве примера:

Given the following URLs:
  | url            | name  | etc...
  | www.foo.com    | Foo   | ...

Вы получите содержимое этих строк с разделителями трубы в виде списка хэшей с заголовком в качестве ключа в каждой строке соответствующего значения. На шаге, который вам придется написать, вы можете масштабировать хэши и создавать необходимые данные, как описано.

Given /^the following URLs?:$/ do |urls|
  urls.hashes.each do | url_hash |
    url= URL.new
    url.url = url_hash[:url]
    url.title = url_hash[:name]
    ...
    url.save!
  end
end

В моих тестах у меня есть ряд объектов, которые необходимо правильно настроить по отношению друг к другу. Итак, у меня есть ряд связанных «заданных» шагов, которые помогают мне собрать данные.

Я надеюсь, что это отвечает на ваш вопрос

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