Démarrage rapide
Création et exécution de tests
- Présentation Laravel est né avec des tests dans son ADN. En fait, Laravel prend en charge PHPUnit pour les tests par défaut et dispose d'un fichier phpunit.xml configuré pour votre application. Le framework fournit également des fonctions d'assistance pratiques afin que vous puissiez tester votre application de manière plus intuitive.
- Par défaut, le répertoire
tests
de votre application contient deux sous-répertoires :Feature
etUnit
. Les tests unitaires consistent à tester une partie très petite et relativement indépendante de votre code. En fait, la plupart des tests unitaires sont effectués sur une seule méthode. Les tests fonctionnels testent de grandes zones de code, y compris les interactions entre plusieurs objets et même les requêtes HTTP complètes vers les points de terminaison JSON. Un exemple de fichier de testExampleTest.php
est fourni dans les répertoiresFeature
etUnit
. Après avoir installé une nouvelle application Laravel, exécutez la commandephpunit
depuis la ligne de commande pour exécuter les tests.
Environnement
Lors de l'utilisation de phpunit
pour les tests, Laravel définira automatiquement l'environnement sur testing
en fonction des variables d'environnement définies dans le phpunit.xml
file et stockez la session et le cache sous la forme d'un tableau
, ce qui signifie qu'aucune donnée de session ou de cache ne sera conservée pendant les tests. phpunit
进行测试时,Laravel 将根据 phpunit.xml
文件设定的环境变量自动将环境设置为 testing
,并将 Session 及缓存以 array
的形式存储,也就是说在测试时不会持久化任何 Session 或缓存数据。
你可以随意创建其它必要的测试环境配置。testing
环境变量可以在 phpunit.xml
文件中修改,但是在运行测试之前,请确保使用 config:clear
Artisan 命令来清除配置信息的缓存!
此外,你还可以在你的项目根目录下创建一个 .env.testing
文件,在运行单元测试,或者使用带有 --env=testing
选项的 Artisan 命令时, .env
文件中的变量会被这个文件覆盖。
定义并运行测试
可以使用 Artisan 命令 make:test
创建一个测试用例:
// 在 Feature 目录下创建一个测试类...php artisan make:test UserTest// 在 Unit 目录下创建一个测试类...php artisan make:test UserTest --unit
测试类生成之后,你就可以像平常使用 PHPUnit 一样来定义测试方法。要运行测试只需要在终端上运行 phpunit
命令即可:
<?php namespace Tests\Unit; use Tests\TestCase; use Illuminate\Foundation\Testing\RefreshDatabase; class ExampleTest extends TestCase{ /** * 一个基本的测试示例。 * * @return void */ public function testBasicTest() { $this->assertTrue(true); } }
{note} 如果要在你的测试类中定义自己的
Vous pouvez créer à volonté d'autres configurations d'environnement de test nécessaires. Les variables d'environnementsetUp
/tearDown
方法,请确保调用了父类中的parent::setUp()
/parent::tearDown()
testing
peuvent être modifiées dans le fichierphpunit.xml
, mais avant d'exécuter des tests, assurez-vous d'effacer la configuration à l'aide duconfig:clear
Commande artisanale Mise en cache des informations !
make: test
Créez un scénario de test : 🎜rrreee🎜Une fois la classe de test générée, vous pouvez définir la méthode de test comme d'habitude en utilisant PHPUnit. Pour exécuter le test, exécutez simplement la commande phpunit
sur le terminal : 🎜rrreee🎜{note} Si vous souhaitez définir votre propresetUp
/tearDown< /code>, assurez-vous d'appeler la méthode
parent::setUp()
/parent::tearDown()
dans la classe parent. 🎜🎜🎜Cet article a été publié pour la première fois sur le site 🎜LearnKu.com🎜. 🎜🎜