Articles of unit testing

Издевательствование пользователя в CakePHP

Я пишу CakePHP Unit Test для одного из моих контроллеров. Контроллер имеет несколько вызовов метода AuthComponent::user() для чтения данных текущего пользователя. Есть 3 варианта использования: AuthComponent::user() (без параметров, выборки всего массива) AuthComponent::user('id') (выбирает идентификатор пользователя) AuthComponent::user('name') (выбирает имя пользователя) Я пробовал два способа издеваться над AuthComponent в своем тесте: // Mock the Controller and the […]

Настройка заголовков для тестовых блоков CakePHP

Я пишу некоторые модульные тесты для контроллера, в котором поведение ответа немного отличается, в зависимости от того, является ли $this->request->is('ajax') . Я просматривал документацию для тестирования контроллеров , но я не могу найти способ имитировать запрос, сделанный через AJAX. Есть ли способ отправить заголовки testAction() чтобы я мог установить заголовок X-Requested-With? Изменить: вы можете обойти […]

Не удалось запустить тест PHPUnit в PHPStorm

У меня есть тестовый набор, работающий на PHPUnit, с использованием среды PHPStorm. Но один из тестов, которые были неудачны из-за следующей проблемы, PHP Warning: Cannot modify header information – headers already sent by … Я исправил это, добавив аннотацию @runInSeparateProcess . Я смог успешно запустить все тесты в терминале. Но когда я пытаюсь запустить тесты […]

Не удалось утверждать, что статус HTTP равен 200 не 500

У меня возникают проблемы с запуском phpunit-тестов в нашем приложении symfony. Я использую следующий код утверждения: namespace Main\MyBundle\Tests\Controller; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; class DefaultControllerTest extends WebTestCase { public function testIndex() { $client = static::createClient(); $crawler = $client->request('GET', '/'); var_dump( $client->getInternalResponse()); //checking home page availability $this->assertEquals(200, $client->getResponse()->getStatusCode()); } } Однако я все время получаю отказ, как вы можете […]

Генератор скелета Phpunit не может найти класс extends

У меня есть приложение, основанное на Zend Framework, которое я пытаюсь использовать phpunit для создания скелетов для тестовых случаев. Phpunit, похоже, не может найти родительские классы классов, которые я пытаюсь создать для: phpunit –skeleton-test Default_Model_Person ../application/models/Person.php PHPUnit 3.5.11 by Sebastian Bergmann. PHP Fatal error: Class 'X1_Db_Table_Auditable' not found in /path/to/application/models/Person.php on line 3 Fatal error: […]

Как выполнить модульное тестирование

Я пытаюсь объединить тесты, модифицирующие примеры кода других людей, и каждый раз, когда я догадываюсь, что мои тесты работают без ошибок, я просто получаю те же ошибки, когда ожидаю, что они пройдут. В Интернете нет большой документации, и я действительно не знаю, куда еще пойти с этим. Может ли кто-нибудь увидеть, где в моем коде […]

Издевательские методы статической ярости, включая find ()

Я слежу за общими инструкциями Mockery и PHP-Unit, включая введение Джеффри Пути в тестирование Laravel с помощью PHP-Unit и Mockery. Однако для этого приложения – мы в порядке с зависимостью от Eloquent и скорее не создадим класс репозитория. Мы умеем издеваться над методами экземпляров нашей модели Widget. Тем не менее, мы используем привязку модели Route: […]

Тест PHPUnit Сколько раз вызывается функция

Я работаю над тестом в phpunit, и у меня проблема. У меня есть публичная функция в моем классе, которую я пытаюсь проверить. В зависимости от параметров, переданных методу, защищенная функция также в моем тестовом классе будет вызываться один или два раза. В настоящее время у меня есть тест, чтобы проверить правильность возвращаемых данных, но я […]

Тестирование модулей с помощью файла приложения конфигурации в Laravel

Здесь мой метод модели основан на config() global; public function getGroup() { if(config('app.pages.'.$this->group.'.0')) { return $this->group; } return "city"; } Здесь я пытаюсь проверить этот метод в своем модульном тестовом классе; public function testGetGroupReturnsCityAsDefault() { $response = new Response(); $response->group = "town"; $test = $response->getGroup(); dd($test); } Ошибка, которую я получаю; Error: Call to a […]

Как выполнить единичный тест наследующих объектов?

Когда вы используете композицию, вы можете высмеивать другие объекты, из которых зависит ваш класс под тестом, но когда вы используете наследование, вы не можете издеваться над базовым классом. (Или вы можете?) Обычно я стараюсь отдать предпочтение композиции над наследованием , но иногда наследование действительно кажется лучшим инструментом для работы – ну, по крайней мере, до […]