未找到特征 PHPUnit\DbUnit\TestCaseTrait?

Trait PHPUnit\DbUnit\TestCaseTrait not found?

升级到 PHP7.1.2 和 PHPUnit 6.0.8(分别从源代码编译并下载 phar)后,我之前扩展 PHPUnit_Extensions_Database_TestCase 的测试不再有效,并且出现 ( in the docs) 我应该改用 traits。

所以,运行 我的 class 声明测试如下:

class FooTest extends PHPUnit_Extensions_Database_TestCase

曾经工作,但是,改为:

use PHPUnit\Framework\TestCase;
use PHPUnit\DbUnit\TestCaseTrait;

class FooTest extends TestCase
{
    use TestCaseTrait;

导致以下错误:

Fatal error: Trait 'PHPUnit\DbUnit\TestCaseTrait' not found in /path/to/FooTest.php on line 17

我在这里错过了什么?

您没有注意到 DbUnit 从版本 6 开始不再捆绑在 PHPUnit 的 PHAR 分发中(参见 https://github.com/sebastianbergmann/phpunit/blob/6.0/ChangeLog-6.0.md#removed)。

立即查看 https://github.com/sebastianbergmann/dbunit#php-archive-phar 以获取有关如何使用 DbUnit 的信息。

如果您在 PHP5.6 (DbUnit 1.3) 中遇到此问题,请

use PHPUnit_Extensions_Database_TestCase_Trait;

而不是

use TestCaseTrait;