以下类的所有测试都正确执行:
namespace AppTest;
use PHPUnit\Framework\TestCase;
class ConfigTest extends TestCase
{
const VALID_CONFIG = [
'file' => '/etc/files/test.conf',
'other' => Sub\OtherConfigTest::VALID_CONFIG
];
public function testValidation()
{
// some tests and assertions, everything executed correctly
}
}
Sub \ OtherConfigTest 中的任何测试都不会执行:
namespace AppTest\Sub;
use PHPUnit\Framework\TestCase;
class OtherConfigTest extends TestCase
{
const VALID_CONFIG = [
'ip' => '192.168.1.1'
];
public function testValidation()
{
// not called at all
}
}
如果我在第一个类中更改常量定义,用实际数组Sub\OtherConfigTest::VALID_CONFIG
替换['ip' => '192.168.1.1']
,则执行所有测试。
这可能是PHPUnit中的错误还是预期的行为?