Pozostałe odpowiedzi są poprawne. Nie możesz tego zrobić za pomocą konfiguracji xml, ale możesz zrobić ten sam typ konfiguracji w php.
Z pewnością nie jest to najładniejsza rzecz, ale powinna zapewniać funkcjonalność, której potrzebujesz.
Podałeś plik config
<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>
Hipotetycznie załóżmy, że Twój katalog „biblioteka” zawiera 3 pliki:
library
XXX
FormTest.php
Unit
unittest1.php
unittest2.php
I że każdy z plików zawiera 1 test według doskonałej konwencji nazewnictwa, np .: FormTest zawiera testForm ()
Dla konfiguracji stworzymy konfigurację zawierającą wszystko:
<?php
include_once "library/XXX/FormTest.php";
include_once "library/Unit/unittest1.php";
include_once "library/Unit/unittest2.php";
Następnie utworzymy klasę zgodnie z konwencjami nazewnictwa phpunit. Możesz nazwać to, co chcesz, ponieważ nigdy go nie użyjemy ...
class LibraryConfigTest extends PHPUnit_Framework_TestCase {
Każdy „zestaw testów” będzie po prostu metodą, która uruchamia wymagane testy. Nazwij metody, jak chcesz, ponieważ po raz kolejny nigdy ich nie użyjemy. Phpunit zajmie się uruchomieniem. Pamiętaj jednak, aby skomentować je w grupach, aby wiedzieć, jak wykonać.
public function testLibrary() {
UnitTest1::testUnit1();
UnitTest2::testUnit2();
FormTest::testForm();
}
public function testForm() {
FormTest::testForm();
}
}
?>
Teraz, aby uzyskać żądaną funkcjonalność, wystarczy uruchomić „config” dla wybranej grupy.
phpunit --group XXX_Form library_config.php
phpunit --group Library library_config.php
Jak powiedziałem, jest to brzydki i na pewno nie dobry kod, ponieważ będzie wymagał ciągłej konserwacji, ale zapewni funkcjonalność, której szukasz.
Miejmy nadzieję, że Bergmann doda tę funkcję w swojej następnej rundzie, chociaż nie wydaje się to prawdopodobne, ponieważ wydaje się, że prawie ją ignoruje .