Die Hauptunterschiede zwischen Minitest-Spec-Schienen und minitest-rails ist der Umfang der Probleme, die sie lösen.
minitest-spec-rails überschreibt die von Rails standardmäßig bereitgestellte Testinfrastruktur und bietet die Möglichkeit zur Verwendung der Minitest Spec DSL und der Matcher in Ihren Tests. Dies bedeutet, dass Sie keine Änderungen an Ihren vorhandenen Tests vornehmen müssen, um mit der Verwendung von Spec DSL zu beginnen. Es bedeutet auch, dass das Spec DSL in jedem Test verfügbar ist.
minitest-rails fügt die Möglichkeit hinzu, das Spec DSL zu verwenden, ändert aber auch die Vorgehensweise, wie Tests geschrieben werden. Es bietet neue Generatoren für Ihre Tests und ermöglicht Ihnen die Auswahl aus TDD-artigen Assertions oder BDD-artigen Erwartungen. Es platziert Testdateien an sinnvolleren Orten.
Es ermöglicht auch, dass Ihre vorhandenen Tests Seite an Seite mit Ihren neuen Minitest-Tests leben. Sie haben die Möglichkeit, die Standard-Testinfrastruktur, die den Minitest-Spec-Rails ähnelt, zu überschreiben, aber Sie können sie auch unverändert lassen.
Disclaimer: Ich bin der Autor von minitest-rails
Mit Minitest-Spec-Rails haben wir eine funktionierende Lösung, indem wir MiniTest :: Spec als Superklasse für ActiveSupport :: TestCase ersetzen. Diese Lösung ist einfach und erfordert nicht, dass Sie einen neuen Testfall in Ihrem test_helper.rb neu erstellen oder Generatoren verwenden, die von Edelsteinen wie minitest-rails geliefert werden.
Minitest ändert sich zum Testen in Rails. Ihre Testklassen erben von MiniTest :: Rails :: ActiveSupport :: TestCase im Gegensatz zu ActiveSupport :: TestCase. Sie können den MiniTest :: Spec DSL verwenden. Sie können Testdateien mit dem Standardmodell, dem Controller, der Ressource und anderen Generatoren generieren.
%Vor%oder
Sie können angeben, dass die Tests mit dem MiniTest :: Spec DSL auf einem der Generatoren generiert werden sollen, indem Sie die Option --spec
angeben %Vor%Tags und Links ruby-on-rails ruby-on-rails-3.2 minitest