2016-05-10 4 views
0

ich eine Orchestrierung Klasse haben, die eine Methode hat implementiert eine Funktion über Aufruf mehrere Methoden:Testen einer Klasse Methode (n) in verschiedenen Testklassen

public class Orchestrator { 
    public void doImportantStuff(){ 
     firstDoThis(); 
     thenDoThis(); 
     finallyDoThis();   
    } 

    private void firstDoThis(){ 
     ... 
    } 

    private void thenDoThis(){ 
     ... 
    } 

    private void finallyDoThis(){ 
     ... 
    } 
} 

Meine Frage ist, ich habe viele Fälle zu testen Alle Methoden werden von doImportantStuff() aufgerufen, daher plane ich separate Testklassen für jede Methode zu schreiben. Soll ich etwas vermeiden oder klingt es gut?

Antwort

0

Das hängt tatsächlich davon ab, welche Art von Tests Sie schreiben werden. Beim Komponententest wird davon ausgegangen, dass Sie jede Methode isoliert testen. Bei der Integrationsprüfung wird jedoch die All-in-One-Funktion getestet.

Unter der Annahme, dass die Methoden einige Geschäftslogik enthalten, würde ich empfehlen, eine Reihe von Komponententests für jede der Methoden zu schreiben (vielleicht in separate Klassen zu verschieben, um das Prinzip der einheitlichen Verantwortung zu erfüllen).

Nachdem Sie sicher sind, dass alle Methoden in Ordnung sind, ist es an der Zeit, einen Integrationstest zu schreiben und zu testen, wie die Logik integriert wird (z. B. die jeweilige Aufrufreihenfolge). Übrigens, hier könnte es nützlich sein, einige Mock-Tools zu verwenden, da Sie nicht jede Methode erneut testen werden.

Verwandte Themen