Les autres réponses sont correctes. Vous ne pouvez pas faire cela à l'aide d'un fichier xml de config, ce que vous pouvez faire, c'est de faire le même type de config de php.
Ce n'est certainement pas la plus belle chose, mais il devrait vous donner la fonctionnalité dont vous avez besoin.
Vous avez fourni la configuration xml
<testsuites>
<testsuite name="Library">
<directory>library</directory>
</testsuite>
<testsuite name="XXX_Form">
<file>library/XXX/FormTest.php</file>
<directory>library/XXX/Form</directory>
</testsuite>
</testsuites>
Hypothétiquement, disons que votre répertoire "library" contient 3 fichiers:
library
XXX
FormTest.php
Unit
unittest1.php
unittest2.php
Et que chacun de ces fichiers contient 1 test en parfait convention d'affectation de noms, par exemple: FormTest contient testForm()
Pour la config, nous allons créer un fichier config qui contient tout:
<?php
include_once "library/XXX/FormTest.php";
include_once "library/Unit/unittest1.php";
include_once "library/Unit/unittest2.php";
Ensuite, nous allons créer une classe par le phpunit conventions de nommage. Vous pouvez l'appeler ce que vous voulez tant que nous ne serons jamais à l'utiliser...
class LibraryConfigTest extends PHPUnit_Framework_TestCase {
Chaque "test suite" sera simplement une méthode qui exécute les tests que vous souhaitez. Nom de l'méthodes tout ce que vous voulez comme, encore une fois, nous ne serons jamais à l'utiliser effectivement. Phpunit va prendre soin de la course. Assurez-vous de les commenter en groupes bien que si vous savez comment l'exécuter.
/**
* All Tests in Library
* @group Library
**/
public function testLibrary() {
UnitTest1::testUnit1();
UnitTest2::testUnit2();
FormTest::testForm();
}
/**
* All Form tests in library/XXX
* @group XXX_Form
**/
public function testForm() {
FormTest::testForm();
}
}
?>
Maintenant, pour obtenir les fonctionnalités que vous voulez il suffit de lancer la "config" contre le groupe que vous souhaitez.
phpunit --group XXX_Form library_config.php
phpunit --group Library library_config.php
Comme je l'ai dit, c'est moche et certainement pas le bon code, il va nécessitent un entretien constant,
mais il vous donnera la fonctionnalité que vous recherchez.
Espérons que Bergmann permettra d'ajouter cette fonctionnalité dans son prochain tour, bien qu'il ne semble pas probable qu'il apparaît à peu près en l'ignorant.