<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0">
<channel>
<title>CakePHP - Manual/CommonTasks/Testing/TestingViews</title>
<link>http://cake-php.ru/wiki/Manual/CommonTasks/Testing/TestingViews</link>
<description>History/revisions of CakePHP/Manual/CommonTasks/Testing/TestingViews</description>
<language>en-us</language>
<item>
<title>2009-05-04 19:26:20</title>
<link>http://cake-php.ru/wiki/Manual/CommonTasks/Testing/TestingViews/show?time=2009-05-04+19%3A26%3A20</link>
<description>&lt;div class="pageBefore">&lt;img src="http://cake-php.ru/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a name=".manual.commontasks.testing.testingviews" href="http://cake-php.ru/wiki/Manual/CommonTasks/Testing/TestingViews" class="">/Manual&amp;nbsp;/&amp;nbsp;Common&amp;nbsp;Tasks&amp;nbsp;/&amp;nbsp;Testing&amp;nbsp;/&amp;nbsp;Testing&amp;nbsp;Views&lt;/a> за &lt;a href="http://cake-php.ru/wiki/Manual/CommonTasks/Testing/TestingViews?time=2009-05-04+19%3A26%3A20">2009-05-04 19:26:20&lt;/a> и &lt;a href="http://cake-php.ru/wiki/Manual/CommonTasks/Testing/TestingViews">2009-05-04 19:29:55&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">Дополнительную информацию читайте в&amp;nbsp;документации по&amp;nbsp;&lt;!--notypo-->SimpleTest&lt;!--/notypo-->.&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2009-05-04 19:00:53</title>
<link>http://cake-php.ru/wiki/Manual/CommonTasks/Testing/TestingViews/show?time=2009-05-04+19%3A00%3A53</link>
<description>&lt;div class="pageBefore">&lt;img src="http://cake-php.ru/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://cake-php.ru/wiki/Manual/CommonTasks/Testing/TestingViews" class="">/Manual&amp;nbsp;/&amp;nbsp;Common&amp;nbsp;Tasks&amp;nbsp;/&amp;nbsp;Testing&amp;nbsp;/&amp;nbsp;Testing&amp;nbsp;Views&lt;/a> за &lt;a href="http://cake-php.ru/wiki/Manual/CommonTasks/Testing/TestingViews?time=2009-05-04+19%3A00%3A53">2009-05-04 19:00:53&lt;/a> и &lt;a href="http://cake-php.ru/wiki/Manual/CommonTasks/Testing/TestingViews?time=2009-05-04+19%3A26%3A20">2009-05-04 19:26:20&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">Следуя соглашениям тестирования, вы&amp;nbsp;должны создавать ваши тестовые отображение в&amp;nbsp;tests/cases/views. Вы, конечно, можете положить эти&amp;nbsp;тесты где&amp;nbsp;угодно, но&amp;nbsp;следовать соглашениям &amp;ndash; это&amp;nbsp;хорошая идея. Таким образом, давайте создадим файл tests/cases/views/complete_web.test.php&lt;br />
Создавая веб-тесты, вы&amp;nbsp;должны помнить, что&amp;nbsp;ваш класс должен расширять &lt;!--notypo-->CakeWebTestCase&lt;!--/notypo-->, а&amp;nbsp;не  &lt;!--notypo-->CakeTestCase&lt;!--/notypo-->:&lt;br />
&lt;!--notypo-->&lt;div class="code">&lt;code>&lt;span style="color: #000000">
&lt;span style="color: #0000BB">&amp;lt;?&amp;nbsp;&lt;/span>&lt;span style="color: #007700">class&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">CompleteWebTestCase&amp;nbsp;&lt;/span>&lt;span style="color: #007700">extends&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">CakeWebTestCase&amp;nbsp;?&amp;gt;&lt;/span>
&lt;/span>
&lt;/code>&lt;/div>&lt;!--/notypo-->&lt;br />
Если вам&amp;nbsp;необходимо сделать некоторые приготовления перед началом тестирования, то&amp;nbsp;создайте конструктор:&lt;br />
&lt;!--notypo-->&lt;div class="code">&lt;code>&lt;span style="color: #000000">
&lt;span style="color: #0000BB">&amp;lt;?&lt;br />&lt;/span>&lt;span style="color: #007700">function&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">CompleteWebTestCase&lt;/span>&lt;span style="color: #007700">(){&lt;br />&amp;nbsp;&amp;nbsp;&lt;/span>&lt;span style="color: #FF8000">//здесь&amp;nbsp;содержимое&lt;br />&lt;/span>&lt;span style="color: #0000BB">?&amp;gt;&lt;br />&lt;/span>}&lt;/span>
&lt;/code>&lt;/div>&lt;!--/notypo-->&lt;br />
Когда вы&amp;nbsp;пишите код&amp;nbsp;конкретного теста, то&amp;nbsp;в первую очередь вам&amp;nbsp;необходимо получить некоторые выходные данные для&amp;nbsp;вывода. Это&amp;nbsp;можно сделать, используя get() или&amp;nbsp;post(). Оба&amp;nbsp;этих метода принимают полный url&amp;nbsp;в&amp;nbsp;качестве первого параметра. URL&amp;nbsp;можно получить динамически. Допустим, скрипт теста расположен по&amp;nbsp;адресу &lt;a href="http://your.domain/cake/folder/webroot/test.php" target="_blank" title="Внешняя ссылка (откроется в новом окне)" class="outerlink">&lt;img src="http://cake-php.ru/wiki/themes/cake/icons/web.gif" alt="" border="0" />http://your.domain/cake/folder/webroot/test.php&lt;/a>:&lt;br />
&lt;!--notypo-->&lt;div class="code">&lt;code>&lt;span style="color: #000000">
&lt;span style="color: #0000BB">&amp;lt;?&lt;br />$this&lt;/span>&lt;span style="color: #007700">-&amp;gt;&lt;/span>&lt;span style="color: #0000BB">baseurl&amp;nbsp;&lt;/span>&lt;span style="color: #007700">=&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">current&lt;/span>&lt;span style="color: #007700">(&lt;/span>&lt;span style="color: #0000BB">split&lt;/span>&lt;span style="color: #007700">(&lt;/span>&lt;span style="color: #DD0000">"webroot"&lt;/span>&lt;span style="color: #007700">,&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">$_SERVER&lt;/span>&lt;span style="color: #007700">[&lt;/span>&lt;span style="color: #DD0000">'PHP_SELF'&lt;/span>&lt;span style="color: #007700">]));&lt;br />&lt;/span>&lt;span style="color: #0000BB">?&amp;gt;&lt;/span>
&lt;/span>
&lt;/code>&lt;/div>&lt;!--/notypo-->&lt;br />
Тогда вы&amp;nbsp;можете использовать get() или&amp;nbsp;post() таким образом:&lt;br />
&lt;!--notypo-->&lt;div class="code">&lt;code>&lt;span style="color: #000000">
&lt;span style="color: #0000BB">&amp;lt;?&lt;br />$this&lt;/span>&lt;span style="color: #007700">-&amp;gt;&lt;/span>&lt;span style="color: #0000BB">get&lt;/span>&lt;span style="color: #007700">(&lt;/span>&lt;span style="color: #0000BB">$this&lt;/span>&lt;span style="color: #007700">-&amp;gt;&lt;/span>&lt;span style="color: #0000BB">baseurl&lt;/span>&lt;span style="color: #007700">.&lt;/span>&lt;span style="color: #DD0000">"/products/index/"&lt;/span>&lt;span style="color: #007700">);&lt;br />&lt;/span>&lt;span style="color: #0000BB">$this&lt;/span>&lt;span style="color: #007700">-&amp;gt;&lt;/span>&lt;span style="color: #0000BB">post&lt;/span>&lt;span style="color: #007700">(&lt;/span>&lt;span style="color: #0000BB">$this&lt;/span>&lt;span style="color: #007700">-&amp;gt;&lt;/span>&lt;span style="color: #0000BB">baseurl&lt;/span>&lt;span style="color: #007700">.&lt;/span>&lt;span style="color: #DD0000">"/customers/login"&lt;/span>&lt;span style="color: #007700">,&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">$data&lt;/span>&lt;span style="color: #007700">);&lt;br />&lt;/span>&lt;span style="color: #0000BB">?&amp;gt;&lt;/span>
&lt;/span>
&lt;/code>&lt;/div>&lt;!--/notypo-->&lt;br />
Второй параметр в&amp;nbsp;методе post &amp;ndash; это $data &amp;ndash; ассоциативный массив, содержащий post-данные в&amp;nbsp;Cake формате:&lt;br />
&lt;!--notypo-->&lt;div class="code">&lt;code>&lt;span style="color: #000000">
&lt;span style="color: #0000BB">&amp;lt;?&lt;br />$data&amp;nbsp;&lt;/span>&lt;span style="color: #007700">=&amp;nbsp;array(&lt;br />&amp;nbsp;&amp;nbsp;&lt;/span>&lt;span style="color: #DD0000">"data[Customer][mail]"&amp;nbsp;&lt;/span>&lt;span style="color: #007700">=&amp;gt;&amp;nbsp;&lt;/span>&lt;span style="color: #DD0000">"user@user.com"&lt;/span>&lt;span style="color: #007700">,&lt;br />&amp;nbsp;&amp;nbsp;&lt;/span>&lt;span style="color: #DD0000">"data[Customer][password]"&amp;nbsp;&lt;/span>&lt;span style="color: #007700">=&amp;gt;&amp;nbsp;&lt;/span>&lt;span style="color: #DD0000">"userpass"&lt;/span>&lt;span style="color: #007700">);&lt;br />&lt;/span>&lt;span style="color: #0000BB">?&amp;gt;&lt;/span>
&lt;/span>
&lt;/code>&lt;/div>&lt;!--/notypo-->&lt;br />
Когда вы&amp;nbsp;запросите страницу, то&amp;nbsp;можете выполнять все&amp;nbsp;виды операций на&amp;nbsp;ней, используя стандартные методы веб-тестирования &lt;!--notypo-->SimpleTest&lt;!--/notypo-->.&lt;br />
&lt;span class="missingpage">&amp;lt;&amp;lt; Тестирование компонентов&lt;/span>&lt;a href="http://cake-php.ru/wiki/TestingComponents/edit?add=1" title="Создать эту страницу">?&lt;/a> | &lt;span class="missingpage">Тестирование плагинов &amp;gt;&amp;gt;&lt;/span>&lt;a href="http://cake-php.ru/wiki/TestingPlugins/edit?add=1" title="Создать эту страницу">?&lt;/a>&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2009-05-03 17:24:13</title>
<link>http://cake-php.ru/wiki/Manual/CommonTasks/Testing/TestingViews/show?time=2009-05-03+17%3A24%3A13</link>
<description>&lt;div class="pageBefore">&lt;img src="http://cake-php.ru/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://cake-php.ru/wiki/Manual/CommonTasks/Testing/TestingViews" class="">/Manual&amp;nbsp;/&amp;nbsp;Common&amp;nbsp;Tasks&amp;nbsp;/&amp;nbsp;Testing&amp;nbsp;/&amp;nbsp;Testing&amp;nbsp;Views&lt;/a> за &lt;a href="http://cake-php.ru/wiki/Manual/CommonTasks/Testing/TestingViews?time=2009-05-03+17%3A24%3A13">2009-05-03 17:24:13&lt;/a> и &lt;a href="http://cake-php.ru/wiki/Manual/CommonTasks/Testing/TestingViews?time=2009-05-04+19%3A00%3A53">2009-05-04 19:00:53&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">Большинство проектов &lt;!--notypo-->CakePHP&lt;!--/notypo--> &amp;ndash; это&amp;nbsp;веб-приложения. Юнит-тестирование является отличным способом для&amp;nbsp;проверки маленьких частей функциональности, но&amp;nbsp;вы можете захотеть протестировать функциональность в&amp;nbsp;большем масштабе. Класс &lt;!--notypo-->CakeWebTestCase&lt;!--/notypo--> предоставляет хороший способ сделать это&amp;nbsp;с&amp;nbsp;точки зрения пользователя.&lt;br />
&lt;hr noshade="noshade" size="1" />&lt;a name="h905-1">&lt;/a>&lt;h3>&lt;!--notypo-->CakeWebTestCase&lt;!--/notypo-->&lt;/h3>
&lt;strong>CakeWebTestCase&lt;/strong> является прямым расширением &lt;!--notypo-->SimpleTest&lt;!--/notypo--> для&amp;nbsp;случая веб-тестирования, без&amp;nbsp;другой дополнительной функциональности. Все&amp;nbsp;возможности, описанные в&amp;nbsp;документации &lt;!--notypo-->SimpleTest&lt;!--/notypo--> для&amp;nbsp;веб-тестирования, также есть и&amp;nbsp;здесь. Это&amp;nbsp;также означает, что&amp;nbsp;нет других возможностей, отличных от&amp;nbsp;возможностей &lt;!--notypo-->SimpleTest&lt;!--/notypo-->. Т.е., вы&amp;nbsp;не сможете использовать прикрепления. И&amp;nbsp;все действия во&amp;nbsp;время проведения тестов, включая обновление и&amp;nbsp;сохранение в&amp;nbsp;базу данных, изменят значения в&amp;nbsp;базе данных. Результаты тестов часто основываются на&amp;nbsp;том, какие значения содержит база данных, таким образом, проверка того, что&amp;nbsp;база данных содержит ожидаемые значения &amp;ndash; является частью процедуры тестирования.&lt;br />
&lt;hr noshade="noshade" size="1" />&lt;a name="h905-2">&lt;/a>&lt;h3>Создание теста&lt;/h3>&lt;/div>&lt;/div>
</description>
</item>
</channel>
</rss>

