여기에있는 다른 답변은 정확합니다. 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
그리고 각 파일에는 완벽한 명명 규칙에 따라 하나의 테스트가 포함되어 있습니다. 예 : FormTest contains 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 {
각 "테스트 스위트"는 단순히 원하는 테스트를 실행하는 방법입니다. 원하는대로 메서드 이름을 지정합니다. 다시 한 번 실제로 사용하지 않습니다. Phpunit이 실행을 처리합니다. 실행 방법을 알 수 있도록 그룹으로 주석을 달아야합니다.
public function testLibrary() {
UnitTest1::testUnit1();
UnitTest2::testUnit2();
FormTest::testForm();
}
public function testForm() {
FormTest::testForm();
}
}
?>
이제 원하는 기능을 얻으려면 원하는 그룹에 대해 "config"를 실행하십시오.
phpunit --group XXX_Form library_config.php
phpunit --group Library library_config.php
내가 말했듯이 이것은 지속적인 유지 관리가 필요하기 때문에 추악하고 확실히 좋은 코드는 아니지만 원하는 기능을 제공합니다.
바라건대 Bergmann은 그의 다음 라운드에서이 기능을 추가 할 것입니다. 비록 그가 거의 무시하고있는 것처럼 보이지는 않지만 .