Ich würde gerne etwas wissen, ich weiß, dass Sie zur Vereinfachung Ihrer Tests Mocks während der Unit-Tests verwenden sollten, um nur die gewünschte Komponente zu testen, ohne externe Abhängigkeiten. Aber irgendwann muss man in den sauren Apfel beißen und Klassen testen, die mit der Datenbank, den Dateien, dem Netzwerk usw. interagieren.
Meine Hauptfrage ist: Wie testen Sie diese Klassen?
-
Ich glaube nicht, dass die Installation einer Datenbank auf meinem CI-Server eine gute Praxis ist, aber haben Sie andere Möglichkeiten?
-
Sollte ich einen anderen Server mit anderen CI-Tools, mit allen externen Abhängigkeiten erstellen?
-
Sollte ich die Integrationstests auf meinem CI genauso oft laufen lassen wie meine Unit-Tests?
-
Vielleicht sollte eine Vollzeitkraft dafür zuständig sein, diese Komponenten manuell zu testen (oder die Testumgebung zu erstellen und die Interaktion zwischen Ihrer Klasse und Ihrer externen Abhängigkeit zu konfigurieren, z. B. durch Bearbeitung der Konfigurationsdateien Ihrer Anwendung).
Ich würde gerne wissen, wie es Ihnen in der realen Welt ergeht.