Pregunta

Tengo una clase de PHP abstracta que es responsable de hacer horquillas de proceso y también separar el proceso actual desde el terminal y continuar como Deamon.

Realmente me gustaría obtener consejos sobre cómo probar esta clase (phpunit). Supongamos que implementar un servidor de socket mínimo en la prueba basado en este resumen y comunicarse con eso. ¿Alguna mejor idea?

La clase se puede ver aquí: https://github.com/tcz/phptracker/blob/master/lib/phptracker/threading/forker.php

¡Gracias!

¿Fue útil?

Solución

Hay dos cosas que deben probarse aquí:

  1. Si el bifurcado funciona
  2. El resto del código

Pruebas Si la bifurcación funcionada se puede hacer guardando la ID del proceso bifurcado en algún lugar y ver si todavía se está ejecutando, y el resto de la clase se puede probar como de costumbre sin bifurcar.

Otros consejos

Como dijo Gphilip, puede usar Runkit para simular PCNTL_FORK () y probar todas las ramas del código. Aquí hay un ejemplo: http://kpayne.me/2012/01/17/how-to-unit-test-fork/

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top