CakePHP - Manual/CommonTasks/Testing/TestingControllers /wiki/Manual/CommonTasks/Testing/TestingControllers History/revisions of CakePHP/Manual/CommonTasks/Testing/TestingControllers en-us 2009-04-28 22:23:09 /wiki/Manual/CommonTasks/Testing/TestingControllers/show?time=2009-04-28+22%3A23%3A09 <div class="pageBefore"><img src="/wiki_/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" /></div><div class="page"> <b>Сравнение версий <a name=".manual.commontasks.testing.testingcontrollers" href="/wiki/Manual/CommonTasks/Testing/TestingControllers" class="">/Manual&nbsp;/&nbsp;Common&nbsp;Tasks&nbsp;/&nbsp;Testing&nbsp;/&nbsp;Testing&nbsp;Controllers</a> за <a href="/wiki/Manual/CommonTasks/Testing/TestingControllers?time=2009-04-28+22%3A23%3A09">2009-04-28 22:23:09</a> и <a href="/wiki/Manual/CommonTasks/Testing/TestingControllers">2009-04-28 22:29:56</a></b><br /> <br /> <b>Добавлено:</b><br /> <div class="additions"><a name="h902-1"></a><h3>Ловушка</h3> Если вы&nbsp;используете testAction для&nbsp;тестирования метода, который делает перенаправление (redirect), то&nbsp;ваш тест немедленно завершится, не&nbsp;вернув никаких результатов. Смотрите <a href="https://trac.cakephp.org/ticket/4154" target="_blank" title="Внешняя ссылка (откроется в новом окне)" class="outerlink"><img src="/wiki_/themes/cake/icons/web.gif" alt="" border="0" />https://trac.cakephp.org/ticket/4154</a>.<br /> <span class="missingpage">&lt;&lt; Тестирование моделей</span><a href="/wiki/TestingModels/edit?add=1" title="Создать эту страницу">?</a> | <span class="missingpage">Тестирование помощников &gt;&gt;</span><a href="/wiki/TestingHelpers/edit?add=1" title="Создать эту страницу">?</a></div></div> 2009-04-28 22:04:40 /wiki/Manual/CommonTasks/Testing/TestingControllers/show?time=2009-04-28+22%3A04%3A40 <div class="pageBefore"><img src="/wiki_/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" /></div><div class="page"> <b>Сравнение версий <a href="/wiki/Manual/CommonTasks/Testing/TestingControllers" class="">/Manual&nbsp;/&nbsp;Common&nbsp;Tasks&nbsp;/&nbsp;Testing&nbsp;/&nbsp;Testing&nbsp;Controllers</a> за <a href="/wiki/Manual/CommonTasks/Testing/TestingControllers?time=2009-04-28+22%3A04%3A40">2009-04-28 22:04:40</a> и <a href="/wiki/Manual/CommonTasks/Testing/TestingControllers?time=2009-04-28+22%3A23%3A09">2009-04-28 22:23:09</a></b><br /> <br /> <b>Добавлено:</b><br /> <div class="additions">Допустим, у&nbsp;нас есть типичный контроллер, с&nbsp;соответствующей моделью: <br /> <strong>return</strong><br /> <div class="indent"><div class="indent">Установите, что&nbsp;вы&nbsp;хотите вернуть<br /> </div>Допустимые значения:<br /> </div><ul><li> 'vars' &ndash; Вы&nbsp;получите отображение переменных, доступных после выполнения действия </li><li> 'view' &ndash; Вы&nbsp;получите отрендеренное отображение без&nbsp;шаблона (верстки) </li><li> 'contents' &ndash; Вы&nbsp;получите весь html-код отображения, включая верстку </li><li> 'result' &ndash; Вы&nbsp;получите возвращенное значение, когда действие использует $this-&gt;params['requested']. </li></ul><div class="indent">По умолчанию &ndash; 'result'. <br /> </div> <strong>fixturize</strong><br /> <div class="indent"><div class="indent">Установите в&nbsp;true, если вы&nbsp;хотите, чтобы ваши модели автоматически прикреплялись (т.е. таблицы приложения копировались вместе с&nbsp;их содержимым в&nbsp;тестовые таблицы. Таким образом при&nbsp;изменение данных, реальные данные не&nbsp;пострадают). Если вы&nbsp;присвоите 'fixturize' массив моделей, тогда только эти&nbsp;модели будут автоматически прикрепляться, в&nbsp;то время, как&nbsp;другие останутся с&nbsp;рабочими таблицами. Если вы&nbsp;хотите использовать ваши файлы прикреплений в&nbsp;testAction(), то&nbsp;не используйте 'fixturize', а&nbsp;просто используйте прикрепления, как&nbsp;обычно.<br /> </div></div> <strong>method</strong><br /> <div class="indent"><div class="indent">установите в&nbsp;'post' или&nbsp;'get' если вы&nbsp;хотите передать данные в&nbsp;контроллер<br /> </div></div> <strong>data</strong><br /> <div class="indent"><div class="indent">данные для&nbsp;передачи. Присвойте ассоциативный массив, содержащий fields =&gt; value. Посмотрите функцию testIndexPostFixturized() в&nbsp;тесте выше, чтобы увидеть как&nbsp;мы&nbsp;эмулируем вставку данных из&nbsp;формы для&nbsp;новой статьи. </div></div></div><br /> <b>Удалено:</b><br /> <div class="deletions">Допустим у&nbsp;нас есть типичный контроллер, с&nbsp;соответствующей моделью:</div></div>