找不到类'PHPUnit_Framework_TestCase'

时间:2017-03-15 13:26:33

标签: travis-ci

我的公共构建项目发生此错误:https://travis-ci.org/byjg/authuser/jobs/211336643

我在我的Ubuntu上使用php 7.0和php 7.1在本地运行,但这个问题不会发生。

Travis在PHP 5.6上运行成功

你能帮帮我吗?

1 个答案:

答案 0 :(得分:16)

PHPUnit< 6和PHPUnit 6之间的命名空间结构存在差异。

您可以考虑以下解决方案以实现向后兼容:

// backward compatibility
if (!class_exists('\PHPUnit\Framework\TestCase') &&
    class_exists('\PHPUnit_Framework_TestCase')) {
    class_alias('\PHPUnit_Framework_TestCase', '\PHPUnit\Framework\TestCase');
}

PHPUnit版本使用\PHPUnit_Framework_TestCase,但新版本使用\PHPUnit\Framework\TestCase。应用向后兼容性后,您可以使用与新版PHPUnit兼容的类名(即\PHPUnit\Framework\TestCase),它也适用于旧版本。

<强>更新 为了支持PHP 5.3,您必须在别名类之前删除\个字符,即

class_alias('\PHPUnit_Framework_TestCase', 'PHPUnit\Framework\TestCase');