Nach dem Upgrade von Rails 3.2 auf Rails 4 funktioniert meine App, aber meine Tests, geschrieben mit Test-Unit, sind ein Desaster.Kann das Testgerät noch in Schienen 4 verwendet werden?
Es wird gemunkelt, dass Minitest mit der Testeinheit "kompatibel" ist. Wenn ich jedoch versuche, den (jetzt gebündelten) Minitest zu verwenden, gibt es eine Reihe von Unterschieden - von den Namen und Parametern der assert * -Anweisung zu (deutlich) vielen anderen Dingen, sowohl großen als auch subtilen.
Wenn ich stattdessen versuchen, Minitest zu vermeiden und versuchen, mein Test-Einheit gem zu halten in meinem Gemfile, Harke Test explodiert und sprach
undefined method 'refute_predicate' for class 'ActiveSupport::TestCase'
Dieses aus führt
require 'rails/test_help'
genannt haben: (
Ich habe eine Weile gesucht, aber noch keine Möglichkeit gefunden, Test-Unit weiter zu verwenden. Die einzige Alternative wäre eine (für uns, massive) Refactoring von o Ihr Testcode, da etwa 80% unserer Tests in irgendeiner Weise durch die Unverträglichkeiten von Minitest mit der Testeinheit unterbrochen werden.
Noch lesen, d. H. http://weblog.rubyonrails.org/2013/6/25/Rails-4-0-final/ und http://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html#upgrading-from-rails-3-2-to-rails-4-0 Ich finde keine Erwähnung in der Substanz - ich fühle mich wie muss etwas fehlen.
Ist es möglich, Minitest systematischer mit der Testeinheit kompatibel zu machen? Oder um Test-Unit in Rails 4 weiter zu verwenden?
Können Sie genauer angeben, auf welche Inkompatibilitäten Sie gestoßen sind? – blowmage
assert_include vs. assert_includes, assert_not_include vs. assert_not_includes, assert_false vs. refute, assert_true vs. assert. Die Methode process_with_new_base_test fehlt (es war notwendig, diese zu umbrechen, um zu verhindern, dass Controller-Instanzvariablen zwischen Anforderungen von Controller-Tests verschmiert werden). Mit einer Reihe von Tests immer noch gebrochen, gab ich an dieser Stelle auf. –
Wäre es dir möglich, Remote Pairing durchzuführen? Erschieß mir eine E-Mail und wir werden es einrichten. – blowmage