【问题标题】:Failed opening 'SiteTest: Firefox.php' when running Yii Functional Test运行 Yii 功能测试时打开 'SiteTest: Firefox.php' 失败
【发布时间】:2012-05-24 21:00:59
【问题描述】:
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 文件。因此,在我在 CLI 版本的 ini 中启用 php_curl 后,它现在可以正常工作(仍然发出警告,但测试正在运行)。

【问题讨论】:

  • 请显示 applocation.log 和您的 php 代码
  • 实际的示例代码是什么?
  • 我不确定这里显示什么,它是由框架生成的。我只运行命令phpunit functional/SiteTest.php。有什么具体要我展示的吗?
  • Selenium 是否安装正确?
  • @Sam,我想是的。我可以正常启动 selenium 服务器。

标签: php selenium yii phpunit


【解决方案1】:

有一些解决方法可以消除Yii Framework Forum 上的警告。

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

另一个更便携,更合适。就是在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);

posted by Vitalets

【讨论】:

    【解决方案2】:

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

    error_reporting
    display errors
    

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

    error_reporting(E_ALL & ~E_WARNING | E_STRICT)
    

    ini_set('display_errors','off');
    

    WebTestCase.php 中的指令

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

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-03-05
        • 1970-01-01
        • 2015-02-19
        • 2020-10-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多