2012-10-19 13 views
21

Ho bisogno di un modo per determinare se la persona che chiama la funzione è Travis-CI o no. Se è Travis-CI, non voglio iniziare una sessione qui. In questo momento, ho il mio test script creare un file chiamato test.txt e quindi cercarlo.Come rilevare se Travis-Ci o no

protected function __construct() { 
    if ((!session_id()) && (!file_exists('test.txt'))) session_start(); 
} 

Tuttavia, ci deve essere un modo migliore. Sembra che senza il controllo del file, se in effetti è stata creata una sessione, non ne verrà creato uno nuovo. Ma questo non è il caso. Se questo era il caso, il link precedente dovrebbe essere passato.

Before l'aggiunta del file "test.txt":
After

+2

I sistemi che cambiano esplicitamente il loro comportamento durante il test sono ** non ** sottoposti a test correttamente. – paxdiablo

+0

@paxdiablo Non proprio. Il problema è che per testare il mio plugin wp, usiamo una dipendenza che avvia la sessione. Sfortunatamente, non posso spegnerlo. – chriscct7

risposta

44

In generale è possibile rilevare se siete su Travis-CI controllando le variabili di ambiente. È possibile controllare sia per CI=true o il più specifico TRAVIS=true. In PHP è possibile utilizzare getenv() function per ottenere il valore di una variabile di ambiente.

Vedere complete list of the environment. È possibile impostare ancora più env variables in your .travis.yml.

+2

credo che s una risposta corretta 'CI = TRUE' è impostata, almeno, per travis/appveyor/circleci. –

Problemi correlati