Bagaimana saya menjalankan ujian di laravel? (Ujian Artisan PHP)
Jun 13, 2025 am 12:02 AMUntuk menjalankan ujian di Laravel dengan berkesan, gunakan arahan ujian artisan php yang memudahkan penggunaan phpunit. 1. Sediakan fail .Env.Testing dan konfigurasikan phpunit.xml untuk menggunakan pangkalan data ujian seperti SQLite. 2. Menjana fail ujian menggunakan PHP Artisan Make: Test, menggunakan --Unit untuk ujian unit. 3. Tulis ujian dengan kaedah bermula dengan ujian \ _ atau @test anotasi. 4. Jalankan semua ujian dengan ujian Artisan PHP atau tentukan fail, direktori, atau penapis. 5. Mengendalikan kegagalan dengan memastikan pembenihan yang betul, membersihkan cache, dan mengesahkan fail persekitaran. Setiap ujian harus bebas untuk mengelakkan konflik.
Ujian berjalan di Laravel adalah mudah, terutamanya dengan arahan php artisan test
terbina dalam. Ia membungkus phpunit dan memberi anda cara yang lebih mesra untuk menjalankan suite ujian anda tanpa menaip arahan PHPUNIT penuh.
Inilah cara untuk memanfaatkannya.
Menyiapkan Persekitaran Ujian Anda
Sebelum menjalankan ujian, pastikan persekitaran anda disediakan dengan betul. Laravel menggunakan fail .env.testing
berasingan untuk menguji konfigurasi. Ini membantu mengasingkan tetapan khusus ujian seperti sambungan pangkalan data atau kekunci API palsu.
- Buat fail
.env.testing
dengan menyalin fail.env
anda dan menyesuaikan nilai. - Dalam
phpunit.xml
, pastikanDB_CONNECTION
ditetapkan kepada sesuatu sepertisqlite
atau pangkalan data ujian khusus. - Anda juga boleh menggunakan pangkalan data SQLite dalam memori dengan menetapkan
DB_DATABASE=:memory:
dalam.env.testing
.
Persediaan ini menghalang ujian anda daripada mengacaukan data pembangunan atau pengeluaran anda.
Menulis Ujian Jalan Laravel
Laravel menyediakan arahan artis mudah untuk menjana fail ujian:
PHP Artisan Make: Ujian contoh ujian
Secara lalai, ini mewujudkan kelas ujian dalam direktori tests/Feature
. Ujian ciri adalah untuk menguji permintaan dan respons HTTP penuh.
Jika anda menulis ujian unit (seperti menguji kaedah tunggal dalam kelas), tambahkan bendera --unit
:
PHP Artisan Make: Example Exampleunittest --Unit
Setiap kaedah ujian harus bermula dengan test_
, atau anda boleh menggunakan anotasi @test
dalam docblock.
Ujian asas mungkin kelihatan seperti ini:
fungsi awam test_homepage_can_be_rendered () { $ response = $ this-> get ('/'); $ Response-> AssertStatus (200); }
Ini memeriksa bahawa laman utama mengembalikan respons 200 ok.
Ujian menjalankan dengan ujian artisan php
Sebaik sahaja ujian anda ditulis, cuma lari:
Ujian Artisan PHP
Ini akan melaksanakan semua ujian dalam direktori tests/Feature
dan tests/Unit
menggunakan phpunit di belakang tabir.
Anda juga boleh menjadi lebih spesifik:
- Jalankan hanya satu fail ujian:
Ujian Artisan PHP/Feature/ExampleTest.php
- Jalankan ujian dalam direktori tertentu:
Ujian Artisan PHP/Ciri/Admin
- Ujian penapis mengikut nama:
Ujian Artisan PHP -Filter test_homepage_can_be_rendered
Output menunjukkan ujian yang diluluskan atau gagal, bersama -sama dengan sebarang mesej ralat atau pernyataan yang tidak sepadan.
Mengendalikan isu biasa
Kadang -kadang ujian gagal kerana alasan yang tidak dijangka. Berikut adalah beberapa gotchas biasa:
- Pembenihan Pangkalan Data : Jika ujian anda bergantung pada data, pertimbangkan untuk menggunakan kilang model atau penyokong.
- Isu Caching : Kadang -kadang konfigurasi atau caching laluan boleh campur tangan. Kosongkan mereka jika keadaan terasa.
- Persekitaran Mismatch : Pastikan anda
.env.testing
anda sedang digunakan dan bukannya.env
biasa anda.
Juga, ingat bahawa setiap ujian harus bebas. Jangan bergantung pada keadaan dari ujian sebelumnya melainkan jika anda secara jelas menetapkannya.
Jika anda melihat tingkah laku yang pelik, cuba jalankan satu ujian pada satu masa untuk mengasingkan isu tersebut.
Dan pada dasarnya ia -
php artisan test
mengendalikan sebahagian besar pengangkat berat. Hanya tulis ujian anda, sediakan persekitaran anda dengan betul, dan biarkan Laravel melakukan yang lain.Atas ialah kandungan terperinci Bagaimana saya menjalankan ujian di laravel? (Ujian Artisan PHP). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Laravel'smvcarchitectureCanfaceSeveralissues: 1) fatcontrollerscanbeavoidedbydelegatinglogictoservices.2) overloadedmodelsshouldfocusondataaccess.3) viewsshouldremainsimple, mengelakkan

Laravel sesuai untuk pemula untuk membuat projek MVC. 1) Pasang Laravel: Gunakan ComposerCreate-Project-Prefer-Distlaravel/Laravelyour-Project-Name Command. 2) Buat model, pengawal dan pandangan: Tentukan model pos, tulis logik pemprosesan postcontroller, buat indeks dan buat pandangan untuk memaparkan dan menambah siaran. 3) Sediakan Routing: Konfigurasi/Laluan Berkaitan Pos di Laluan/Web.php. Dengan langkah -langkah ini, anda boleh membina aplikasi blog yang mudah dan menguasai asas -asas Laravel dan MVC.

Inlaravel, policiesorganizeAuthorizationLogicformodelactions.1.PoliciesareClassSesSesSelSelwithMethodsLikeView, create, Update, andDeletetHatReturnTrueorfalsebasedOnuserpermissions.2.Toregisterapolicy, Mapthemodeltoitspolicheon.

Di Laravel, penghalaan adalah titik masuk aplikasi yang mentakrifkan logik tindak balas apabila pelanggan meminta URI tertentu. Laluan memetakan URL ke kod pemprosesan yang sepadan, yang biasanya mengandungi kaedah HTTP, URI, dan tindakan (penutupan atau kaedah pengawal). 1. Struktur Asas Definisi Laluan: Permintaan Bind menggunakan Route :: Verb ('/uri', Tindakan); 2. Menyokong pelbagai kata kerja HTTP seperti GET, POST, PUT, dan sebagainya; 3. Parameter dinamik boleh ditakrifkan melalui {param} dan data boleh diluluskan; 4. Laluan boleh dinamakan untuk menjana URL atau pengalihan; 5. Gunakan fungsi kumpulan untuk menambahkan awalan, middleware dan tetapan perkongsian yang seragam; 6. Fail penghalaan dibahagikan kepada web.php, AP mengikut tujuan mereka

ThePhpartisandb: SeedCommandinlaravelisusedTopopulatethedatabasewithtestestordefaultdata.1.iteXecuteStherun () methodinseederclasslocatedin/database/seeders.2.developerscanrunallseeders, aspecifyseederusingsusing-classsoSseederusing-classsoSseederusing-baseSsifeSsoederusing-baseSsifeSsoederusing-baseedselsusing-classeedsusing-basseedselsusing-

Artisan adalah alat perintah Laravel untuk meningkatkan kecekapan pembangunan. Fungsi terasnya termasuk: 1. Menjana struktur kod, seperti pengawal, model, dan lain -lain, dan secara automatik membuat fail melalui membuat: pengawal dan arahan lain; 2. Menguruskan penghijrahan pangkalan data dan mengisi, gunakan berhijrah untuk menjalankan penghijrahan, dan DB: benih untuk mengisi data; 3. Menyokong perintah adat, seperti Make: Command Creation Command Class untuk melaksanakan enkapsulasi logik perniagaan; 4. Memberi fungsi debugging dan pengurusan alam sekitar, seperti kunci: menjana untuk menjana kunci, dan berfungsi untuk memulakan pelayan pembangunan. Kemahiran dalam menggunakan Artisan dapat meningkatkan kecekapan pembangunan Laravel dengan ketara.

Toruntestsinlaravelefectively, usethephpartiSanteStCommandWhichSimplifiesphpunitusage.1.setupa.env.testingfileandConfigurePhp Unit.xmltouseatestDatabaselikesqlite.2.GenerateTestFilesusingPhpartisanMake: ujian, menggunakan-Unitforunittests.3.WriteTestSwithmeth

MvcinlaravelisadesignpatternThatseparatesapplicationLogicintothreecomponents: model, view, andcontroller.1) Modelshandledataandbusinesslogic, usingeloquentormforforfientdatamanagement.2)
