Permulaan cepat
- Memperkenalkan
- Laravel dilahirkan dengan ujian dalam DNAnya. Malah, Laravel menyokong PHPUnit untuk ujian secara lalai, dan mempunyai fail phpunit.xml yang dikonfigurasikan untuk aplikasi anda. Rangka kerja ini juga menyediakan beberapa fungsi pembantu yang mudah supaya anda boleh menguji aplikasi anda dengan lebih intuitif. Secara lalai, direktori
ujian
aplikasi anda mengandungi dua subdirektori:Ciri
danUnit
. Ujian unit adalah menguji bahagian yang sangat kecil dan agak bebas daripada kod anda. Malah, kebanyakan ujian unit dilakukan terhadap satu kaedah. Ujian fungsional ialah menguji kawasan besar kod, termasuk interaksi antara berbilang objek dan juga permintaan HTTP penuh ke titik akhir JSON.
ExampleTest.php
disediakan dalam kedua-dua direktori Ciri
dan Unit
. Selepas memasang aplikasi Laravel baharu, jalankan perintah phpunit
daripada baris arahan untuk menjalankan ujian. Environment
Apabila menggunakan phpunit
untuk ujian, Laravel akan secara automatik menetapkan persekitaran kepada testing
berdasarkan pembolehubah persekitaran yang ditetapkan dalam phpunit.xml
fail , dan simpan Sesi dan cache dalam bentuk array
, yang bermaksud tiada data Sesi atau cache akan dikekalkan semasa ujian. 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} 如果要在你的测试类中定义自己的
Anda boleh membuat konfigurasi persekitaran ujian lain yang diperlukan sesuka hati. Pembolehubah persekitaransetUp
/tearDown
方法,请确保调用了父类中的parent::setUp()
/parent::tearDown()
testing
boleh diubah suai dalam failphpunit.xml
, tetapi sebelum menjalankan ujian, pastikan anda mengosongkan konfigurasi menggunakanconfig:clear
Perintah artisan Caching maklumat!
phpunit
pada terminal: 🎜rrreee🎜{note} Jika anda ingin menentukansetUp
/tearDown< anda sendiri /code>, sila pastikan untuk memanggil kaedah
parent::setUp()
/parent::tearDown()
dalam kelas induk. 🎜🎜🎜Artikel ini pertama kali diterbitkan di laman web 🎜LearnKu.com🎜. 🎜🎜