我在 Yii 中创建了一个小部件来使用http://www.highcharts.com/库显示图形。CGridView
我的小部件的工作方式与Yii的小部件非常相似。
我知道对于视觉元素,我可以使用 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_start
and ob_end_clean
?