Domanda

Ho una classe PHP astratto che è responsabile per fare forcelle processo e anche staccare il processo corrente dal terminale e proseguire come demone.

Mi piacerebbe davvero ottenere suggerimenti su come test di unità di questa classe (PHPUnit). Diciamo che implementa un server socket minima nel test sulla base di questa astratta e comunicare con questo? Un'idea migliore?

La classe può essere visto qui: https: / /github.com/tcz/PHPTracker/blob/master/lib/PHPTracker/Threading/Forker.php

Grazie!

È stato utile?

Soluzione

Ci sono due cose che hanno bisogno di essere testati qui:

  1. Se si biforcano lavori
  2. Il resto del codice

Test se la forcella ha funzionato può essere fatto salvando l'ID del processo da qualche parte biforcuta e vedere se è ancora in esecuzione, e il resto della classe può essere testato come al solito senza sborsare.

Altri suggerimenti

Come ha detto gphilip, è possibile utilizzare runkit per pcntl_fork finta () e testare tutti i rami di codice. Ecco un esempio: http://kpayne.me/2012/ 01/17 / how-to-unit-test-forcella /

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top