找不到Trait PHPUnit \ DbUnit \ TestCaseTrait?

时间:2017-03-07 18:01:33

标签: php phpunit php-7.1

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

所以,使用类声明运行我的测试:

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

我在这里缺少什么?

2 个答案:

答案 0 :(得分:3)

您缺少DbUnit自版本6起不再捆绑在PHPUnit的PHAR发行版中的事实(参见https://github.com/sebastianbergmann/phpunit/blob/6.0/ChangeLog-6.0.md#removed)。

有关如何使用DbUnit的信息,请查看https://github.com/sebastianbergmann/dbunit#php-archive-phar

答案 1 :(得分:1)

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

<section class="groups" style="clear:both;">
    <h2 class="group-name">Business Liner</h2>
    <div class="listings h_group"></div>
    <div class="listings h_group"></div>
    <div class="listings h_group"></div>
    <div class="listings h_group"></div>
</section>

<!-- This section should show -->
<section class="groups" style="clear:both;">
    <h2 class="group-name">Business Liner</h2>
    <div class="listings h_group"></div>
    <div class="listings"></div>
    <div class="listings h_group"></div>
    <div class="listings"></div>
</section>

代替

use PHPUnit_Extensions_Database_TestCase_Trait;