【问题标题】:Create a test for widget in yii在 yii 中为小部件创建测试
【发布时间】:2013-04-17 09:11:55
【问题描述】:

我在 Yii 中创建了一个小部件来使用 http://www.highcharts.com/ 库显示图形。我的小部件的工作方式与来自 Yii 的 CGridView 小部件非常相似。

我知道,对于视觉元素,我可以使用 Selenium 进行功能测试,我将要这样做。但是,由于我的小部件的特性(显示 javascript 结果),我在视觉元素上找不到太多问题。

如何编写单元测试以确保显示或加载必要的元素?下面我会举一些例子(以CGridView为例)。

CGridView 的官方单元测试可以在这里找到:https://github.com/yiisoft/yii/blob/master/tests/framework/zii/widgets/CGridViewTest.php

如您所见,测试只确保脚本已注册,但是,背后的逻辑如何?比如这个简单的代码:

public function renderTableBody()
{
    $data=$this->dataProvider->getData();
    $n=count($data);
    echo "<tbody>\n";
    echo '<tr><td colspan="'.count($this->columns).'" class="empty">';
    $this->renderEmptyText();
    echo "</td></tr>\n";
    echo "</tbody>\n";
}

没有测试,有什么合乎逻辑的原因吗?我如何为此编写测试?也许是ob_startob_end_clean

【问题讨论】:

    标签: php unit-testing yii phpunit yii-extensions


    【解决方案1】:

    PHPUnit 用于服务器端逻辑验证。你不能通过 PHP 运行 JS 代码,所以 PHPUnit 不能用于测试脚本背后的逻辑。如果您想确保您的脚本在客户端正常运行,您可以使用QUnit

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-21
      • 2014-03-14
      • 2019-06-13
      • 1970-01-01
      • 1970-01-01
      • 2013-04-27
      • 1970-01-01
      相关资源
      最近更新 更多