Frage

Ich bin über einige Änderungen an einem bestehenden Apache C-Modul, um einige mögliche Sicherheitslücken und die allgemeine schlechte Praktiken zu beheben. Allerdings ist die Funktionalität des Codes muss unverändert bleiben (außer in Fällen, in denen sie einen Fehler beheben). Standard Regressionstests Zeug scheint in Ordnung zu sein. Ich würde gerne wissen, ob jemand eine gute Art und Weise kennt einige Regressions Unit-Tests againt den Code auszuführen. Ich denke, etwas entlang der Linien der Verwendung von C-Einheit aber mit alle Krawatte In auf den Apache April und Statusstrukturen Ich habe mich gefragt, ob es ein guter Weg, dies zu testen. Gibt es vorgefertigte Gerüste, die mit C-Einheit zum Beispiel verwendet werden können?

Danke

Peter

War es hilfreich?

Lösung

Ich habe für eine Weile zu beantworten denken dies, aber dachte, jemand anderes mit einer besseren Antwort kommen könnte, weil mein eher unbefriedigend ist: nein, ich bin nicht bekannt, dass eine solche Einheit Test-Framework

Ich denke, die beste Wahl, um zu versuchen und Ihren C-Modul Refactoring, so dass es Abhängigkeiten von der httpd Code-Basis in einer sehr dünnen Klebeschicht enthalten sind. Ich würde nicht zu viel über Abhängigkeiten von April Sorge, die leicht in Ihren Unit-Test-Code verknüpft werden können. Es ist Dinge wie mit dem Anforderungssatz, den Sie abstrahieren ein wenig versuchen sollte.

Ich werde so weit gehen und behaupten, dass eine solche Refactoring ist eine gute Idee, wenn der Code Verdacht auf Sicherheitsmängel und schlechte Praktiken enthalten. Es ist einfach in der Regel eine ziemlich große Aufgabe.

Was Sie vielleicht auch Integrationstests statt Unit-Tests (im Idealfall beide) betrachten laufen, kommen also mit einem Satz von Anforderungen und erwartete Antworten von dem Server, und ein Programm ausführen, die tatsächlichen zu erwarteten Antworten zu vergleichen.

Also, nicht die Antwort, die Sie gesucht haben, und Sie wahrscheinlich entlang dieser Linie selbst etwas einfiel. Aber zumindest ich kann Ihnen sagen, aus Erfahrung, dass, wenn das Modul nicht mit etwas Neues aus geschäftlichen Gründen ersetzt werden, dann ist es für Testbarkeit Refactoring wird wahrscheinlich auf längere Sicht auszahlen.

Andere Tipps

einige Zeit um die interwebs als Sie suchen Verbrauchte eine Frage ich mich war neugierig. kam in einem Wiki-Artikel besagt, dass

http://cutest.sourceforge.net/

wurde für die Apache Portable Runtime c Testen verwendet. könnte sein, dass ein Besuch wert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top