【问题标题】:CakePHP with PHPUnit fails when using command line testing使用命令行测试时,带有 PHPUnit 的 CakePHP 失败
【发布时间】:2014-02-04 02:24:42
【问题描述】:

我正在使用 CakePHP 2.x 并安装了 PHPUnit 来进行测试。 在我将应用程序上传到主机之前,一切都运行良好。 如果我通过网络(/test.php)测试它,它工作正常。 但是如果我使用cake test app XXXXXX,它会给我这个错误:

Configure::bootstrap() - CORE/Cake/Core/Configure.php, line 92
require - CORE/Cake/bootstrap.php, line 175
ShellDispatcher::_bootstrap() - CORE/Cake/Console/ShellDispatcher.php, line 136
ShellDispatcher::_initEnvironment() - CORE/Cake/Console/ShellDispatcher.php, line 98
ShellDispatcher::__construct() - CORE/Cake/Console/ShellDispatcher.php, line 54
ShellDispatcher::run() - CORE/Cake/Console/ShellDispatcher.php, line 65
[main] - CORE/Cake/Console/cake.php, line 49</pre></div></pre>
Parse error: syntax error, unexpected T_FUNCTION, expecting ')' in /blablablablabla/cake/app/Vendor/PHPUnit/Autoload.php on line 71

在 Autoload.php 中:

70. spl_autoload_register(
71.   function ($class)
72.   {

虽然 pear 我没有安装 PHPUnit,我使用了独立插件选项 (https://github.com/Hyra/PHPUnit-Cake2),但在本地它可以正常工作。

有什么想法吗? 谢谢!!

【问题讨论】:

    标签: php cakephp testing command-line phpunit


    【解决方案1】:

    解析错误:语法错误,意外的 T_FUNCTION,需要 ')' in /blablablablabla/cake/app/Vendor/PHPUnit/Autoload.php 在第 71 行

    您是否检查过 Autoload.php 的第 71 行或第 71 行附近是哪一行?它清楚地告诉您存在语法错误。

    检查是否在本地启用了短标签,但在服务器上未启用。如果在您的应用程序中使用短标签,请摆脱它们。您不想使用短标签来解决您现在遇到的问题。

    【讨论】:

    • 显示更多代码或自己检查,该文件中的某处一定是语法错误。仅这三行没有帮助。
    • 但本地运行良好。它只是不适用于我的托管。而这个文件也是一样的
    • 比较php版本并在此处命名。
    • 本地是 5.5.3,主机是 5.3.27
    • PHPUnit的版本是2.4.3
    猜你喜欢
    • 2015-04-02
    • 1970-01-01
    • 1970-01-01
    • 2020-04-13
    • 2013-07-28
    • 1970-01-01
    • 2010-10-19
    • 2017-01-11
    • 2013-05-04
    相关资源
    最近更新 更多