使用 Guard 在模型更改时触发整体工厂规范
Triggering a monolithic factory spec on a model change using Guard
我想找到一种方法来测试我的工厂,并在 Thoughtbot 上遇到了这个很棒的 article 来完成这个:
# spec/factories_spec.rb
FactoryBot.factories.map(&:name).each do |factory_name|
describe "The #{factory_name} factory" do
it 'is valid' do
build(factory_name).should be_valid
end
end
end
在更改我的 Guardfile 时我不太了解,只是想知道什么是让它工作的最佳方法。我注意到默认情况下为控制器设置了一些东西,但没有为模型设置:
watch(rails.controllers) do |m|
[
rspec.spec.call("routing/#{m[1]}_routing"),
rspec.spec.call("controllers/#{m[1]}_controller"),
rspec.spec.call("acceptance/#{m[1]}")
]
end
是的,这应该有效
watch(%r{app/models/.*\.rb}) do
[`spec/factories_spec.rb`]
end
我想找到一种方法来测试我的工厂,并在 Thoughtbot 上遇到了这个很棒的 article 来完成这个:
# spec/factories_spec.rb
FactoryBot.factories.map(&:name).each do |factory_name|
describe "The #{factory_name} factory" do
it 'is valid' do
build(factory_name).should be_valid
end
end
end
在更改我的 Guardfile 时我不太了解,只是想知道什么是让它工作的最佳方法。我注意到默认情况下为控制器设置了一些东西,但没有为模型设置:
watch(rails.controllers) do |m|
[
rspec.spec.call("routing/#{m[1]}_routing"),
rspec.spec.call("controllers/#{m[1]}_controller"),
rspec.spec.call("acceptance/#{m[1]}")
]
end
是的,这应该有效
watch(%r{app/models/.*\.rb}) do
[`spec/factories_spec.rb`]
end