minitest
é uma ótima biblioteca de testes e factory_girl
é uma útil biblioteca de substituição de fixture, especialmente ao trabalhar com Rails.
Ele pode se tornar tedioso repetir FactoryGirl.
para cada invocação build
, create
, etcetera. Aqui está um atalho útil para ajudar a reduzir a dor do túnel do carpo:
# for Test::Unit assertion style
class MiniTest::Rails::ActiveSupport::TestCase
include FactoryGirl::Syntax::Methods
end
# for Spec expectation style
class MiniTest::Spec
include FactoryGirl::Syntax::Methods
end
Coloque isso em um arquivo como test/support/factory_girl.rb
.
Isso permite que você use o conjunto central de métodos de sintaxe ( build
, build_stubbed
, create
, attributes_for
, e os seus *_list
homólogos) sem ter de chamá-los em FactoryGirl
diretamente:
describe Awesome do
# do this
subject { create(:awesome) }
# don't do this
subject { FactoryGirl.create(:awesome) }
end