2016-08-01 2 views
-1

Ich frage mich, ob es ein Skript gibt, das vorhandene Codebasis nehmen und Komponententests für jede Methode in Controllern generieren kann. Standardmäßig würden alle passieren, da sie leer wären und ich kann Tests für Methoden entfernen, die ich nicht wichtig finde.Schienen, Gibt es eine Möglichkeit, Komponententests von vorhandenen Controllern und in ihnen definierten Methoden zu generieren?

Dies würde viel Zeit sparen und Tests erhöhen. Da würde ich nur definieren müssen, was jede Methode ausgeben sollte und nicht boileplate, das geschrieben werden muss.

Antwort

1

Sie sollten das wirklich nicht tun. Sinnlose Tests zu erstellen ist eine technische Schuld, die Sie nicht wollen. Nehmen Sie sich etwas Zeit, gehen Sie durch jeden Controller und schreiben Sie einen Test (oder vorzugsweise einige) für jede Methode. Du wirst dir auf lange Sicht danken.

Sie können dann Testüberprüfungstools verwenden, um festzustellen, welche Bits noch getestet werden müssen.

Sie können gemeinsame Tests verwenden, um Wiederholungen zu vermeiden. So zum Beispiel mit rspec, können Sie den folgenden auf Ihre spec_helper/rails_helper

def should_be_ok(action) 
    it "should respond with ok" do 
    get action.to_sym 
    expect(response).to be_success 
    end 
end 

Dann in Ihrem controller_spec hinzufügen

describe UserController do 
    should_be_ok(:index) 
    should_be_ok(:new) 
end 
+0

i-Tests für alle Methoden erstellen wollen, aber sie wird nicht alles testen und ich würde lösche den meisten Test. Während dies kreativ ist, war mein Ziel, nicht selbst Code zu schreiben. –

Verwandte Themen