我尝试按照 PHPUnit 手册了解如何使用自定义测试执行顺序设置测试套件。我现在意识到我只需要这些行和一些包括来让套件工作:
public static function suite()
{
$suite = new PHPUnit_Framework_TestSuite('Package');
return $suite;
}
但是当我使用上面的行时,测试执行顺序是由我包含的排序顺序定义的。当我尝试通过套件()如下更改它时,测试会执行两次,首先是按照套件()定义的排序顺序,然后是包含的排序顺序:
public static function suite()
{
$suite = new PHPUnit_Framework_TestSuite('Package');
$suite->addTestSuite('Package_Class1Test');
$suite->addTestSuite('Package_Class2Test');
$suite->addTestSuite('Package_Class3Test');
return $suite;
}
包括由以下人员完成:
require_once 'Package/Class3Test.php';
require_once 'Package/Class2Test.php';
require_once 'Package/Class1Test.php';
结果(测试执行顺序):
1) Class1Test
2) Class2Test
3) Class3Test
4) Class3Test
5) Class2Test
6) Class1Test
我正在使用 Netbeans 7.0beta 在 Windows 7 上运行 PHP 5.3.5 / PHPUnit 3.5.11。我阅读了 phpunit 手册 (http://www.phpunit.de/manual/3.5/en/organizing-tests.html)但我不知道我做错了什么......
请帮忙。
PS:这个问题可以通过自动加载类来解决。