0

升级到 PHP7.1.2 和 PHPUnit 6.0.8(分别从源代码编译并下载 phar)后,我之前扩展 PHPUnit_Extensions_Database_TestCase 的测试不再起作用,并且(在文档中)看来我应该使用特征代替。

因此,使用这样的类声明运行我的测试:

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

我在这里想念什么?

4

2 回答 2

4

您错过了 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。

于 2017-03-07T18:12:10.033 回答
1

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

use PHPUnit_Extensions_Database_TestCase_Trait;

代替

use TestCaseTrait;
于 2018-09-24T10:39:43.537 回答