После обновления с Rails 3.2 до Rails 4 мое приложение работает, но мои тесты, написанные с помощью тестового блока, являются катастрофой.
По слухам, Minitest "совместим" с тестовым блоком. Однако, если я попытаюсь использовать (в настоящее время в комплекте) Minitest, есть множество различий - от имен и параметров утверждения assert *, чтобы (явно) многое другое делало как большие, так и тонкие.
Если я вместо этого попытаюсь избежать Minitest и попытаюсь сохранить драгоценный камень тестового блока в моем Gemfile, рейк-тест взрывается, говоря:
undefined method 'refute_predicate' for class 'ActiveSupport::TestCase'
Это вызвано вызовом
require 'rails/test_help'
:(
Я искал какое-то время, но еще не понял, как продолжить использование тестового блока. Единственной альтернативой может быть (для нас, массивный) рефакторинг нашего тестового кода, поскольку примерно 80% наших тестов каким-то образом нарушаются несовместимостью Minitest с тестовым блоком.
Но чтение, т.е. http://weblog.rubyonrails.org/2013/6/25/Rails-4-0-final/ и http://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html#upgrading-from-rails-3-2-to-rails-4-0 Я не нахожу никакого упоминания об этом по существу - я чувствую, что мне что-то не хватает.
Можно ли сделать Minitest более совместимым с тестовым блоком на систематической основе? Или продолжить использование тестового блока в Rails 4?