2013-04-24 2 views
4

Я создал виджет в Yii для отображения графики с использованием библиотеки http://www.highcharts.com/. Мой виджет работает довольно похоже на CGridView виджет от Yii.Создать тест для виджета в yii

Я знаю, что для визуальных элементов я мог бы провести функциональный тест с использованием Selenium, который у меня будет. Но, поскольку характеристики моего виджета (отображение результата javascript), я не могу найти много проблем на визуальных элементах.

Как я могу написать модульный тест, чтобы убедиться, что элементы предметов обязательно отображаются или загружены? Я приведу несколько примеров ниже (например, с использованием CGridView).

Тест Oficial устройство для 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 и ob_end_clean?

ответ

0

PHPUnit используется для проверки на стороне сервера. Вы не можете запускать JS-код через PHP, поэтому PHPUnit не может использоваться для проверки логики за скриптом. Если вы хотите быть уверенным, что ваш скрипт работает правильно на стороне клиента, вы можете использовать для этого QUnit.

Смежные вопросы