Die anderen Antworten hier sind richtig. Sie können dies nicht mit einer XML-Konfiguration tun. Sie können jedoch den gleichen Konfigurationstyp in PHP erstellen.
Es ist sicherlich nicht das Schönste, aber es sollte Ihnen die Funktionalität geben, die Sie benötigen würden.
Sie haben die XML-Konfiguration angegeben
<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>
Angenommen, Ihr Verzeichnis "Bibliothek" enthält hypothetisch 3 Dateien:
library
XXX
FormTest.php
Unit
unittest1.php
unittest2.php
Und dass jede der Dateien 1 Test nach perfekter Namenskonvention enthält, zB: FormTest enthält testForm ()
Für die Konfiguration erstellen wir eine Konfiguration, die alles enthält:
<?php
include_once "library/XXX/FormTest.php";
include_once "library/Unit/unittest1.php";
include_once "library/Unit/unittest2.php";
Dann erstellen wir eine Klasse nach den Namenskonventionen von phpunit. Sie können es so benennen, wie Sie möchten, da wir es nie verwenden werden ...
class LibraryConfigTest extends PHPUnit_Framework_TestCase {
Jede "Testsuite" ist einfach eine Methode, mit der die gewünschten Tests ausgeführt werden. Nennen Sie die Methoden, wie Sie wollen, denn wir werden sie nie wieder verwenden. Phpunit kümmert sich um das Laufen. Kommentieren Sie sie jedoch in Gruppen, damit Sie wissen, wie sie ausgeführt werden.
public function testLibrary() {
UnitTest1::testUnit1();
UnitTest2::testUnit2();
FormTest::testForm();
}
public function testForm() {
FormTest::testForm();
}
}
?>
Um die gewünschte Funktionalität zu erhalten, führen Sie einfach die "Konfiguration" für die gewünschte Gruppe aus.
phpunit --group XXX_Form library_config.php
phpunit --group Library library_config.php
Wie gesagt, dies ist hässlich und sicherlich kein guter Code, da er ständig gewartet werden muss, aber Ihnen die Funktionalität bietet, die Sie suchen.
Hoffentlich wird Bergmann diese Funktionalität in seiner nächsten Runde hinzufügen, obwohl dies nicht wahrscheinlich erscheint, da er sie anscheinend so gut wie ignoriert .