Может войдёшь?
Черновики Написать статью Профиль

Тестирование модулей

перевод документация 3.x

Содержание

Основы

Модульное тестирование позволяет проверить код и убедиться, что он работает правильно. Многие утверждают, что вы должны еще написать тесты, прежде чем написать свой код! Laravel открывает прекрасную интеграцию с популярными библиотеками тестирования [PHPUnit] (http://www.phpunit.de/manual/current/en/), что позволяет легко писать тесты. На самом деле, Laravel включает в себя сотни модульных тестов!

Создание класса теста

Все тесты приложения размещаются в application/tests. В этом каталоге вы найдете основной example.test.php файлы. Откройте его и посмотрите на класс, он включает в себя:

<?php

class TestExample extends PHPUnit_Framework_TestCase {

    /**
     * Test that a given condition is met.
     *
     * @return void
     */
    public function testSomethingIsTrue()
    {
        $this->assertTrue(true);
    }

}

Обратите особое внимание .test.php суффикс. Это говорит Laravel, что он должна включить этот класс в качестве теста при выполнении теста. Любые файлы в каталоге, не имеющие этот суффикс, рассматриваться не будут.

Если вы пишете тесты для бандла, поместите их в каталог тестов tests бандла. Laravel позаботится об остальном!

Для получения более подробной информации смотрите PHPUnit documentation.

Запуск тестов

Для запуска тестов используется консольная утилита Artisan.

Запуск теста посредством Artisan CLI:

php artisan test

Запуск теста для бандла:

php artisan test bundle-name

<a name="#calling-controllers-from-tests"></a>

Вызов контроллеров в тестах

Некоторые примеры вызовов контроллеров из тестов:

Вызов контроллера из теста:

$response = Controller::call('home@index', $parameters);

Создание екземпляра контроллера из теста:

$controller = Controller::resolve('application', 'home@index');

Примечание: Фильтры контроллера все равно будет работать при использовании Controller::call метода.

Написать комментарий

Разметка: ? ?

Авторизуйся, чтобы прокомментировать.