Frage

Ich habe eine abstrakte PHP -Klasse, die für Prozessgabeln verantwortlich ist und den aktuellen Prozess vom Terminal abschließt und als Deamon weitergeht.

Ich möchte wirklich Tipps zum Testen dieser Klasse (Phpunit) erhalten. Implementieren wir einen minimalen Socket -Server im Test, der auf dieser Zusammenfassung und Kommunikation damit basiert? Gibt es bessere Ideen?

Die Klasse ist hier zu sehen: https://github.com/tcz/phptracker/blob/master/lib/phptracker/threading/forker.php

Vielen Dank!

War es hilfreich?

Lösung

Es gibt zwei Dinge, die hier getestet werden müssen:

  1. Wenn Gabern funktioniert
  2. Der Rest des Code

Das Testen, ob die Gabel funktioniert, kann durch Speichern der ID des Forked -Prozesses irgendwo und festgestellt werden, ob sie noch läuft, und der Rest der Klasse kann wie gewohnt ohne Gabel getestet werden.

Andere Tipps

Wie GPhilip sagte, können Sie Runkit verwenden, um pcntl_fork () zu verspotten und alle Codezweige zu testen. Hier ist ein Beispiel: http://kpayne.me/2012/01/17/how-to-unit-test-fork/

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