Các câu trả lời khác ở đây là chính xác. Bạn không thể làm điều này bằng cách sử dụng một cấu hình xml, những gì bạn có thể làm mặc dù là làm cho cùng một loại cấu hình trong php.
Chắc chắn đây không phải là điều đẹp nhất, nhưng nó sẽ cung cấp cho bạn chức năng bạn cần.
Bạn cung cấp cấu hình 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>
giả thuyết, giả sử thư mục của bạn "thư viện" chứa 3 file:
library
XXX
FormTest.php
Unit
unittest1.php
unittest2.php
Và rằng mỗi người trong các tập tin chứa 1 bài kiểm tra theo quy ước đặt tên hoàn hảo, ví dụ: FormTest chứa testForm()
Đối với cấu hình, chúng tôi sẽ tạo cấu hình chứa mọi thứ:
<?php
include_once "library/XXX/FormTest.php";
include_once "library/Unit/unittest1.php";
include_once "library/Unit/unittest2.php";
Sau đó, chúng tôi sẽ tạo một lớp theo quy ước đặt tên phpunit. Bạn có thể đặt tên cho nó bất cứ điều gì bạn muốn vì chúng tôi sẽ không bao giờ thực sự sử dụng nó ...
class LibraryConfigTest extends PHPUnit_Framework_TestCase {
Mỗi "bộ thử nghiệm" sẽ đơn giản là phương pháp chạy thử nghiệm bạn muốn. Đặt tên cho các phương thức bất cứ điều gì bạn muốn, một lần nữa, chúng tôi sẽ không bao giờ thực sự sử dụng nó. Phpunit sẽ chăm sóc chạy. Hãy chắc chắn để bình luận chúng thành các nhóm mặc dù vậy bạn biết cách thực hiện.
/**
* 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();
}
}
?>
Bây giờ để có được chức năng bạn muốn chỉ chạy "cấu hình" đối với nhóm bạn muốn.
phpunit --group XXX_Form library_config.php
phpunit --group Library library_config.php
Như tôi đã nói, đây là xấu xí và chắc chắn không tốt mã như nó sẽ yêu cầu bảo trì thường xuyên, nhưng nó sẽ cung cấp cho bạn các chức năng bạn đang tìm kiếm.
Hy vọng Bergmann sẽ thêm chức năng này vào vòng tiếp theo của mình mặc dù dường như không có vẻ như anh ta dường như là ignoring it.
X-Ref: [Chạy một testsuite duy nhất theo mặc định trong PHPUnit] (https://stackoverflow.com/q/37820193/367456) – hakre