我的公共构建项目发生此错误:https://travis-ci.org/byjg/authuser/jobs/211336643
我在我的Ubuntu上使用php 7.0和php 7.1在本地运行,但这个问题不会发生。
Travis在PHP 5.6上运行成功
你能帮帮我吗?
答案 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');