未找到特征 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;
升级到 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;