Я пытаюсь создать тестовые сценарии rspec (rspec2) для помощника, которого я разрабатываю.Этот помощник в основном делает некоторые вещи с объектами "Сигнал".В моем приложении «Сигнал» связан с «Автором».
Проблема, с которой я здесь сталкиваюсь, заключается в том, что при тестировании с использованием кода, подобного следующему:
describe SignalHelper do
let(:author) { Author.create(author_identifier: "foobar_identifier") }
specify "should fail to instantiate without an author" do
lambda { SignalHelper.new }.should raise_error
end
specify "should instantiate with a valid author" do
SignalHelper.new(author)
end
end
Яобнаружение, что несколько авторов создаются и косвенно вызывают проблемы для кода в SignalHelper.
Что я могу сделать, чтобы создать ОДНОГО Автора до запуска всех тестов и использовать одного и того же автора в каждом тесте?
Я думал, что использование let()
было правильным подходом, но это, очевидноне тот случай.Я также пробовал код, который выглядел как этот, но безуспешно:
describe SignalHelper do
let(:author) { Author.create(author_identifier: "foobar_identifier") }
before(:all) do
author
end
specify "should fail to instantiate without an author" do
lambda { SignalHelper.new }.should raise_error
end
specify "should instantiate with a valid author" do
SignalHelper.new(author)
end
end
Спасибо!