2016-07-08 1 views
5

Si vous avez configuré plusieurs suites de tests en phpunit.xml, comment exécutez-vous plus d'une suite de tests, mais pas toutes à partir de la ligne de commande?Comment faire pour exécuter plusieurs suites de test PHPUnit à partir de la ligne de commande?

phpunit.xml

<?xml version="1.0" encoding="utf-8"?> 
<phpunit 
    backupGlobals="false" 
    backupStaticAttributes="false" 
    colors="true" 
    convertErrorsToExceptions="true" 
    convertNoticesToExceptions="true" 
    convertWarningsToExceptions="true" 
    processIsolation="false" 
    stopOnFailure="true" 
    syntaxCheck="true" 
    bootstrap="tests/bootstrap.php"> 
     <testsuites> 
      <testsuite name="Unit"> 
       <directory suffix="Test.php">tests/unit</directory> 
      </testsuite> 
      <testsuite name="Integration"> 
       <directory suffix="Test.php">tests/integration</directory> 
      </testsuite> 
      <testsuite name="Acceptance"> 
       <directory suffix="Test.php">tests/acceptance</directory> 
      </testsuite> 
     </testsuites> 
     <logging> 
      <log type="coverage-html" target="build/coverage"/> 
      <log type="testdox-html" target="build/requirements.html"/> 
     </logging> 
     <filter> 
      <whitelist> 
       <directory suffix=".php">src</directory> 
      </whitelist> 
     </filter> 
</phpunit> 

exemple

phpunit --testsuite Unit|Integration mais pas Acceptance

Répondre

4

Il ne fonctionne pas comme vous attendez.

--testsuite <pattern> Filter which testsuite to run.

<pattern> est pas un motif réel.

Vous pouvez choisir une suite de tests à exécuter, mais vous ne pouvez pas utiliser un modèle pour filtrer les programmes à exécuter.

Une meilleure description serait --testsuite <name> Which testsuite to run.

rapport d'émission https://github.com/sebastianbergmann/phpunit/issues/2273

+4

en fait la question a été résolue (https://github.com/sebastianbergmann/phpunit/commit/80754cf323fe96003a2567f5e57404fddecff3bf). et il fonctionne maintenant en séparant les suites de tests avec une virgule: 'phpunit --testsuite suite1, suite2' – emfi