Как я могу тестировать переменные, используя PHPUnit в Zend Framework - PullRequest
2 голосов
/ 13 февраля 2012

ОК, может быть, я не понимаю это правильно.Я новичок в модульном тестировании.Но я хочу протестировать что-то вроде этого:

У меня есть действие, которое отображает заявки для пользователя на текущий день.Я хочу сделать утверждение, которое проверит, если: если есть 0 билетов, то в сообщениях говорится «нет билетов на сегодня», если существует> 0 билетов, чем система отображает таблицу.Я знаю, как проверить, отображает ли представление сообщение или таблицу, но как сделать «если» в тесте?Что-то вроде:

<code>
if(count($tickets > 0) {
 $this->assertQuery('table');
} else {
 $this->assertQueryContentContains('#message', 'No tickets for today');
}
</code>

Я не понимаю, как создать данные-заглушки или получить значение определенной переменной из действия.

1 Ответ

2 голосов
/ 13 февраля 2012

В модульном тесте не должно быть логики любая .Проблема с логикой в ​​модульном тесте заключается в том, что она обычно отражает логику из тестируемого фрагмента кода, что в значительной степени убивает цель модульного тестирования.

Вместо этого вы хотите моделировать условия для каждого теста(а в вашем случае вам нужно как минимум два) и проверьте, были ли проверенные ожидания оправданы.Если $tickets извлечение не является сложным процессом (его затем следует смоделировать), имитацией условий в вашем случае будет просто установка $tickets на соответствующее значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...