Інші відповіді тут правильні. Ви не можете зробити це, використовуючи конфігурацію xml, хоча ви можете зробити те ж саме тип конфігурації в php.
Це, звичайно, не найкрасивіша річ, але вона повинна дати вам необхідну вам функціональність.
Ви надали конфігурацію 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>
Гіпотетично, припустимо, ваш каталог "бібліотека" містить 3 файли:
library
XXX
FormTest.php
Unit
unittest1.php
unittest2.php
І що кожен із файлів містить 1 тест за досконалим правилом іменування, наприклад: FormTest містить testForm ()
Для конфігурації ми створимо конфігурацію, яка містить усе:
<?php
include_once "library/XXX/FormTest.php";
include_once "library/Unit/unittest1.php";
include_once "library/Unit/unittest2.php";
Потім ми створимо клас за правилами іменування phpunit. Ви можете назвати його як завгодно, оскільки ми ніколи насправді не використовуватимемо його ...
class LibraryConfigTest extends PHPUnit_Framework_TestCase {
Кожен "набір тестів" буде просто методом, який запускає тести, які ви хочете. Назвіть методи як завгодно, оскільки ще раз ми насправді ніколи їх не використовуватимемо. Ппуніт подбає про біг. Обов’язково коментуйте їх у групи, щоб ви знали, як виконати.
public function testLibrary() {
UnitTest1::testUnit1();
UnitTest2::testUnit2();
FormTest::testForm();
}
public function testForm() {
FormTest::testForm();
}
}
?>
Тепер, щоб отримати функціональність, яку ви хочете, просто запустіть "конфігурацію" проти потрібної групи.
phpunit --group XXX_Form library_config.php
phpunit --group Library library_config.php
Як я вже говорив, це потворний і, звичайно, поганий код, оскільки він вимагатиме постійного обслуговування, але він надасть вам потрібну вам функціональність.
Будемо сподіватися, що Бергманн додасть цю функцію у своєму наступному раунді, хоча це не здається ймовірним, оскільки він, здається, майже ігнорує її .