## Содержание
- [Основы](#the-basics)
- [Создание тест класса](#creating-test-classes)
- [Запуск тестов](#running-tests)
- [Вызов контроллеров из теста](#calling-controllers-from-tests)
## Основы
Модульное тестирование позволяет проверить код и убедиться, что он работает правильно. Многие утверждают, что вы должны еще написать тесты, прежде чем написать свой код! Laravel открывает прекрасную интеграцию с популярными библиотеками тестирования [PHPUnit] (http://www.phpunit.de/manual/current/en/), что позволяет легко писать тесты. На самом деле, Laravel включает в себя сотни модульных тестов!
## Создание класса теста
Все тесты приложения размещаются в **application/tests**. В этом каталоге вы найдете основной **example.test.php** файлы. Откройте его и посмотрите на класс, он включает в себя:
assertTrue(true);
}
}
Обратите особое внимание **.test.php** суффикс. Это говорит Laravel, что он должна включить этот класс в качестве теста при выполнении теста. Любые файлы в каталоге, не имеющие этот суффикс, рассматриваться не будут.
Если вы пишете тесты для бандла, поместите их в каталог тестов **tests** бандла. Laravel позаботится об остальном!
Для получения более подробной информации смотрите [PHPUnit documentation](http://www.phpunit.de/manual/current/en/).
## Запуск тестов
Для запуска тестов используется консольная утилита Artisan.
#### Запуск теста посредством Artisan CLI:
php artisan test
#### Запуск теста для бандла:
php artisan test bundle-name
## Вызов контроллеров в тестах
Некоторые примеры вызовов контроллеров из тестов:
#### Вызов контроллера из теста:
$response = Controller::call('home@index', $parameters);
#### Создание екземпляра контроллера из теста:
$controller = Controller::resolve('application', 'home@index');
> **Примечание:** Фильтры контроллера все равно будет работать при использовании Controller::call метода.