2011-02-07 2 views
13

Come posso ottenere PHPUnit per eseguire il mio PHPT test cases e integrare lo stato pass/fail nelle metriche generali? Sono già a conoscenza di come eseguire questi test utilizzando run-phpt dalla riga di comando, ma voglio eseguirli da PHPUnit con i miei altri test.Integrare i casi di test PHPT con PHPUnit

Sono consapevole del fatto che lo PHPUnit_Extensions_PhptTestCase esiste ma non sono riuscito a trovare alcun esempio su come utilizzarlo.

+0

@DavidHarkness Grazie per la pulizia. Legge meglio ora. Molto apprezzato – edorian

risposta

5

Mentre il punto principale di questo blog post about testing file uploads è descrivere come scrivere i test PHPT, mostra come integrarli in PHPUnit alla fine del post. In breve, si passa il percorso assoluto al file .phpt al costruttore genitore.

<?php 
require_once 'PHPUnit/Extensions/PhptTestCase.php'; 

class UploadExampleTest extends PHPUnit_Extensions_PhptTestCase { 
    public function __construct() { 
     parent::__construct(__DIR__ . '/upload-example.phpt'); 
    } 
} 

In alternativa, è possibile utilizzare la classe PHPUnit_Extensions_PhptTestSuite, che prende una directory come primo argomento del costruttore e poi cerca tutti i file * .phpt in questa lista.

+1

Ciò significa che ogni singola testcase richiede un distinto file di classe con codifica hard ** e ** file di testcase per esso? Wow, è inutile ... – ircmaxell

+0

mi sono completamente dimenticato del post di mapi anche così è stata la ragione per cui ho iniziato a preoccuparmi di phpt di nuovo. Grazie ! – edorian

+6

@ircmaxell: "In alternativa, puoi usare la classe PHPUnit_Extensions_PhptTestSuite, che prende una directory come primo argomento del costruttore e quindi cerca tutti i file * .phpt all'interno di questa directory" :) – edorian

3

Nella configurazione XML phpunit, è possibile aggiungere una suite di test chiamato PHPT (o qualsiasi altro nome) e puntare alla directory in cui è stato inserito il file .phpt con il suffisso impostato su ".phpt". PHPUnit eseguirà quindi all-test-file PHPT da quella directory:

<testsuites> 
    <testsuite name="Main Test Suite"> 
     <directory>test</directory> 
    </testsuite> 
    <testsuite name="PHPT Test Suite"> 
     <directory suffix=".phpt">test/phpt</directory> 
    </testsuite> 
</testsuites> 

In questo esempio, la directory contiene i file test/phpt.phpt.

Informazioni sul formato come .phpt test sono strutturati e scritti è disponibile in profondità a: