Ich bin neu in der Unit-Tests, also würde ich gerne die Meinung von einigen bekommen, die ein wenig mehr eingeweiht sind.Unit-Tests für Screen-Scraping?
Ich muss in Kürze einen Screen-Scraping-Code schreiben. Das Zielsystem ist ein Web-UI, in dem umfangreiche HTML-Parsing und ähnliche volatile Goodness involviert sind. Ich werde niemals über Änderungen durch das Zielsystem informiert (z. B. wenn sie ihre Website neu gestalten oder ihre Funktionalität anderweitig ändern). Also erwarte ich, dass mein Code regelmäßig bricht.
Also meine wirkliche Frage ist, wie viel, wenn überhaupt, meiner Unit-Tests sollte sich Sorgen über oder Umgang mit der Schnittstelle (die Website, die ich kratze) ändern?
Ich denke Unit Tests oder nicht, ich werde zur Laufzeit stark testen müssen, da ich sicherstellen muss, dass die Daten, die ich konsumiere, makellos sind. Selbst wenn ich Unit-Tests vor jedem Lauf ausführen würde, könnte die Web-UI immer noch zwischen Tests und Laufzeit wechseln.
Also konzentriere ich mich auf In-Code-Tests und Ausnahmebehandlung? Bedeutet das, eine Linie in den Sand zu zeichnen und diese Art von Tests von Unit-Tests auszuschließen?
Dank
Ich glaube nicht, dass Sie "Unit Tests" meinen. Komponententests werden von Ihnen ausgeführt, um den Code zu testen, den Sie im Wesentlichen auf Methodenebene geschrieben haben. So wie ich Ihre Frage lese, klingt es eher so, als würden Sie über automatisierte Tests sprechen, um zu sehen, ob Ihre Eingaben gut genug sind, um den Rest der Arbeit zu durchlaufen. Ist das wahr? –
Nun, ich bin mir nicht sicher sicher, aber zum Beispiel hatte ich mir vielleicht eine Methode getGoogleSearchResult() vorgestellt und für diese Methode konnte ich einen Test und Behauptungen machen. Und nein, ich kratze nicht an Google SERPs.:) – Chris