У меня проблема с написанием тестов для моего действия, которое вызывается jquery через ajax. Я не знаю, как поймать данные, которые отправляются обратно в представление, действием, так что я могу утверждать, если это правильно. мой скрипт $ .ajax (...) вставляет результат, эхо-отредактированный контроллером, в элемент textarea, но в моем тестовом скрипте результат равен нулю. сообщение об ошибке:phpunit тестирование с ajax и zend framework
Failed asserting that null matches expected '...
вот что мой тестовый код до сих пор:
$this->getRequest()->setRawBody('some json containing input params im testing');
$this->getRequest()->setMethod('GET');
$this->getRequest->setHeader('HTTP_X_REQUESTED_WITH','XMLHttpRequest');
$this->dispatch('my url');
$result = json_decode($this->getResponse()->getBody(),true);
$expectedResult = 'some string';
$this->assertEquals($expectedResult, $result['targeted element']);
И что находится внутри переменной $ result? Также рассмотрите использование Zend_Json :: decode() –
, если im не ошибается, $ result должен содержать значения всех полей, заданных контроллером. в этом случае это будет textarea, которая должна содержать строку, сгенерированную контроллером. есть некоторые другие элементы текста и выбора, но я не забочусь о них в этом конкретном тесте. – Ajant
Что ДОЛЖНО быть неактуальным. Вопрос в том, что там есть :) –