我有一些像这样组织的子模块:
|-- app
| |-- models
| | |-- foo
| | | |-- foo-1.rb
| | | |-- foo-2.rb
| | | |-- foo-3.rb
| | |-- foo.rb
如何让自动测试注意到对 foo-*.rb 所做的更改,然后运行适当的规范?
我有一些像这样组织的子模块:
|-- app
| |-- models
| | |-- foo
| | | |-- foo-1.rb
| | | |-- foo-2.rb
| | | |-- foo-3.rb
| | |-- foo.rb
如何让自动测试注意到对 foo-*.rb 所做的更改,然后运行适当的规范?
另一个有趣的选择是guard。
您可以使用映射填充您的 autotest/discover.rb 文件:
Autotest.add_hook :initialize do |at|
# match the model name (the whole Regex object is in _)
at.add_mapping(%r%^app/models/(foo)/\w+\.rb$%, true) do |filename, _|
"spec/models/#{_[1]}_spec.rb"
end
end
您可以在 API 文档中找到更多如何使用映射和挂钩。