После обновления с Rails 3.2 до Rails 4 мое приложение работает, но мои тесты, написанные на тестовом блоке, являются катастрофой.Можно ли использовать тестовый блок в рельсах 4?
По слухам, Minitest является «совместимым» с испытательным блоком. Однако, если я попытаюсь использовать (в настоящее время в комплекте) Minitest, есть множество различий - от имен и параметров утверждения assert *, чтобы (явно) многое другое делало как большие, так и тонкие.
Если я вместо этого попытаться избежать MiniTest и пытаться держать мой тест-блок драгоценный камень в моей Gemfile, тест грабли взрывает, говоря,
undefined method 'refute_predicate' for class 'ActiveSupport::TestCase'
Это приводит из заехав
require 'rails/test_help'
: (
Я искал какое-то время, но еще не понял, как продолжить использование тестового блока. Единственной альтернативой может быть (для нас, массивный) рефакторинг o ur, так как примерно 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?
Можете ли вы уточнить, какие несовместимости вы столкнулись? – blowmage
assert_include vs. assert_includes, assert_not_include vs. assert_not_includes, assert_false против опровержения, assert_true vs. assert. Метод process_with_new_base_test отсутствует (необходимо было обернуть это, чтобы предотвратить размывание переменных экземпляра контроллера между запросами на тесты контроллера). С кучей тестов, которые все еще были сломаны, я отказался от этого момента. –
Будете ли вы заниматься удаленным подключением? Стреляйте мне электронное письмо, и мы его настроим. – blowmage