Как я могу получить автотест, чтобы заметить изменения в подкаталогах?

У меня есть несколько подмодулей, организованных так:

|-- app
|   |-- models
|   |   |-- foo
|   |   |   |-- foo-1.rb
|   |   |   |-- foo-2.rb
|   |   |   |-- foo-3.rb
|   |   |-- foo.rb

Как я могу получить автотест, чтобы заметить изменения, внесенные в foo-*. Rb, и затем запустить соответствующие спецификации?

3 ответа

Решение

Вы можете заполнить свой файл 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.

Возможно, вам следует изучить сторож

https://github.com/mynyml/watchr

Это похоже на автотест, но немного более настраиваемый и более простой в настройке.

Еще одна интересная альтернатива - охрана.

Другие вопросы по тегам