运行 Yii 功能测试时打开“SiteTest: Firefox.php”失败


Failed opening 'SiteTest: Firefox.php' when running Yii Functional Test

Warning: include(): Failed opening 'SiteTest: Firefox.php' for inclusion 
... 'yii'framework'YiiBase.php on line 418

Yii v1.1.10
PHPUnit v3.6.10
PHPUnit_Selenium v 1.2.6

当我尝试运行"使用 Yii 1.1 和 PHP5 进行敏捷 Web 开发"一书中的示例时,我收到此错误,我觉得短语 SiteTest: 有问题,它不应该存在。但是,我该如何解决这个问题?

更新(已解决(:
显然,问题不在于上面显示的警告,而是还有另一个错误。它说"curl_init(("是未定义的。我已经启用了 php_curl 扩展,但来自 CLI 的 PHP 没有使用与 apache 相同的.ini文件。因此,在我在 ini 的 CLI 版本中启用php_curl后,它现在可以正常工作(仍然发出警告,但测试正在运行(。

有一些解决方法可以摆脱 Yii 框架论坛上的警告。

其中之一涉及编辑 PHPUnit 核心文件Framework/TestSuite.php以抑制警告:将@放在 Dmitriy K 发布的method_exists($this->name, 'setUpBeforeClass')前面。

另一个更便携,更合适。它是在phpunit.xml中注释浏览器行:

    <selenium>
    <!--        <browser name="Internet Explorer" browser="*iexplore" />-->
    <!--        <browser name="Firefox" browser="*firefox" />-->
    </selenium>

并放入测试脚本中:

    parent::setUp();
    $this->setBrowser('*iexplore');
    $this->setBrowserUrl(TEST_BASE_URL);

发布者 维塔莱茨

这些警告的显示取决于 php.ini 设置:

error_reporting
display errors

如果不想显示此警告,则必须设置

error_reporting(E_ALL & ~E_WARNING | E_STRICT)

ini_set('display_errors','off');

WebTestCase 中的指令.php

并且不要关闭错误日志记录到文件以保存&&检查错误

我在

尝试测试我的应用程序时遇到了同样的问题。

你应该下载并启动硒服务器http://selenium.googlecode.com/files/selenium-server-standalone-2.22.0.jar

警告将保留在那里,但测试将开始!