Gegebenes Problem:Unit Testing .... ein Datenanbieter?
- Ich mag Komponententests.
- Ich entwickle Connectivity-Software zu externen Systemen, die ziemlich oft und oft eine C++ - Bibliothek verwenden
- Die Rückkehr dieses Systems ist nicht-deterministisch. Daten werden während des Laufens empfangen, aber es ist schwierig, sicherzustellen, dass alles korrekt interpretiert wird.
Wie kann ich das richtig testen?
Ich kann einen Komponententest ausführen, der eine Verbindung herstellt. Leider wird es dann einen Leben Datenstrom verarbeiten. Ich kann sagen, ich führe den Test für 30 oder 60 Sekunden vor dem Trennen, aber Code coverage ist unmöglich - ich nicht einfach closeclose, um alle Code Pfade immer nur einmal pro Tag (Fehlercode Pfade werden selten ausgeführt). Ich kann auch nicht jedes Ergebnis wirklich behaupten. Abhängig von der Tageszeit sprechen wir von 20 000 Datenrückrufen pro Sekunde - die alle nicht ausreichend gut genug sind, um jeden von ihnen auf Konsistenz zu überprüfen. Spott? Nun, das würde mich eine leere Hülle von mir testen lassen, da der Code, der die Ereignisse behandelt, im Grunde der zu testende Fall ist. In vielen Fällen sprechen wir hier von einer KOMPLEXEN c-Level-Struktur - schwer zu spottende Frameworks, die von Csharp zu integrieren C++
Wer eine Idee? Ich gebe den Unit-Test für diesen Teil der Anwendung nicht auf.
Ich nehme das als Antwort. Ich habe das Testprojekt für diesen Connector gelöscht und werde einen manuelleren Ansatz wählen, indem ich eine Test-App schreibe, die ich im Profiler ausführen kann. – TomTom