Вступление
Laravel построен с учетом тестирования. На самом деле поддержка тестирования с помощью PHPUnit включена из коробки, и файл уже настроен для вашего приложения. Фреймворк также поставляется с удобными вспомогательными методами, которые позволяют вам выразительно тестировать ваши приложения.phpunit.xml
По умолчанию tests
каталог вашего приложения содержит два каталога: Feature
и Unit
. Модульные тесты - это тесты, которые фокусируются на очень маленькой изолированной части вашего кода. Фактически, большинство модульных тестов, вероятно, сосредоточены на одном методе. Функциональные тесты могут проверять большую часть вашего кода, включая взаимодействие нескольких объектов друг с другом или даже полный HTTP-запрос к конечной точке JSON.
Файл предоставляется в обоих и тестовых каталогах. После установки нового приложения Laravel запустите тестирование из командной строки.ExampleTest.php
Feature
Unit
phpunit
Среда
При запуске тестов через phpunit
Laravel автоматически устанавливает среду конфигурации testing
из-за переменных среды, определенных в файле. Laravel также автоматически настраивает сеанс и кэш для драйвера во время тестирования, что означает, что данные сеанса или кеша не будут сохранены во время тестирования.phpunit.xml
array
Вы можете при необходимости определить другие значения конфигурации среды тестирования. В testing
переменные окружения могут быть настроены в файле, но убедитесь , чтобы очистить кэш конфигурации с помощью Artisan команду перед запуском тесты!phpunit.xml
config:clear
Кроме того, вы можете создать файл в корне вашего проекта. Этот файл переопределит файл при запуске тестов PHPUnit или выполнении команд Artisan с параметром..env.testing
.env
--env=testing
Создание и запуск тестов
Чтобы создать новый контрольный пример, используйте команду Artisan:make:test
// Create a test in the Feature directory...
php artisan make:test UserTest
// Create a test in the Unit directory...
php artisan make:test UserTest --unit
После того, как тест был сгенерирован, вы можете определить методы тестирования, как обычно, используя PHPUnit. Для запуска ваших тестов выполните phpunit
команду из вашего терминала:
<?php
namespace Tests\Unit;
use Tests\TestCase;
use Illuminate\Foundation\Testing\RefreshDatabase;
class ExampleTest extends TestCase
{
/**
* A basic test example.
*
* @return void
*/
public function testBasicTest()
{
$this->assertTrue(true);
}
}
Если вы определяете свои собственные методы
setUp
/tearDown
в тестовом классе, обязательно вызовите соответствующие методы / в родительском классе.parent::setUp()
parent::tearDown()
0 комментариев