#ruby-on-rails #ruby #ruby-on-rails-3 #rspec #rspec2
#ruby-on-rails #ruby #ruby-on-rails-3 #rspec #rspec2
Вопрос:
Я использую Ruby on Rails 3.1.0 rspec-rails 2
и Factory
gems. Чтобы протестировать index
действие контроллера, я хотел бы загрузить коллекцию пользователей фабрик.
Пример (следующий код не работает):
describe "GET index" do
let(:users) { 3.times(Factory(:user)) }
it "should ..." do
users.should ...
end
end
Используя приведенный выше код, я получаю следующую ошибку:
Failure/Error: let(:users) { 3.times(Factory(:user)) }
ArgumentError:
wrong number of arguments(1 for 0)
Что я могу сделать, чтобы загрузить фабрики в users
переменную?
ОБНОВЛЕНИЕ … и если в приведенном выше коде у меня есть Factory(:user, :account => Factory.build(:account))
вместо Factory(:user)
как я могу загружать фабрики?
Ответ №1:
Попробуйте let(:users) { FactoryGirl.create_list(:user, 3) }
Комментарии:
1. И если у меня есть что-то вроде этого:
Factory(:user, :account => Factory.build(:account))
. Как я могу загрузить фабрики?2. Попробуйте
FactoryGirl.create_list(:user, 3, :account => Factory.build(:account))