Rumah  >  Artikel  >  rangka kerja php  >  Pembangunan Laravel: Bagaimana untuk menggunakan Ujian Laravel untuk ujian hujung ke hujung?

Pembangunan Laravel: Bagaimana untuk menggunakan Ujian Laravel untuk ujian hujung ke hujung?

王林
王林asal
2023-06-14 22:37:261579semak imbas

Laravel ialah rangka kerja PHP popular yang menyediakan infrastruktur yang berkuasa dan fungsi luar biasa untuk aplikasi web. Salah satunya ialah Ujian Laravel, yang menyediakan mekanisme ujian hujung ke hujung yang pantas untuk aplikasi Laravel. Dalam artikel ini, kita akan belajar cara menggunakan Ujian Laravel untuk ujian hujung ke hujung.

Mengapakah ujian hujung ke hujung diperlukan?

Dalam proses pembangunan perisian, ujian adalah bahagian penting dalam memastikan kualiti perisian. Dalam aplikasi web, ujian hujung ke hujung ialah langkah terakhir ujian dan langkah penerimaan terakhir. Ujian hujung ke hujung biasanya dilengkapkan dengan skrip ujian automatik untuk mensimulasikan operasi pengguna sebenar dan menguji sama ada aplikasi web boleh berfungsi dengan betul.

Gunakan ujian hujung ke hujung untuk:

  • Tentukan sama ada aplikasi memenuhi jangkaan
  • Tentukan sama ada aplikasi boleh beroperasi dan responsif
  • Tangkap Pepijat dan Ralat

Asas Pengujian Laravel

Pengujian Laravel ialah perpustakaan ujian yang disertakan dengan rangka kerja Laravel Ia menyediakan banyak kaedah dan alatan untuk ujian menulis, dan Simulasi pengguna sebenar tingkah laku interaksi.

Dalam Ujian Laravel, anda boleh mencipta kelas ujian dan menggunakan PHPUnit untuk ujian. LaravelTesting menyediakan sambungan fungsi tambahan kepada PHPUnit yang memudahkan anda menggunakan ciri aplikasi Laravel, seperti mengakses laluan dan halaman.

Apabila menggunakan Ujian Laravel untuk ujian hujung ke hujung, kami menggunakan komponen berikut terutamanya:

  • Komponen Pengujian Penyemak Imbas (Pengujian BrowserKit): membenarkan untuk mensimulasikan permintaan HTTP dan respons kepada menguji Web Sama ada aplikasi boleh bertindak balas dengan betul.
  • Ujian Beratur: Membolehkan anda menguji fungsi baris gilir Laravel untuk memastikan ia dilaksanakan dengan betul.

Menulis ujian hujung ke hujung

Dalam bahagian ini, kami akan menulis ujian hujung ke hujung mudah untuk menguji kefungsian halaman pendaratan dan halaman pendaftaran.

Persediaan

Pertama, kita perlu memasang perpustakaan PHPUnit dan Ujian Laravel. Kita boleh mencapai operasi ini menggunakan Komposer.

Masukkan arahan berikut dalam tetingkap terminal untuk melengkapkan pemasangan PHPUnit:

composer require --dev phpunit/phpunit

Kemudian, kita boleh menggunakan arahan berikut untuk memasang perpustakaan Ujian Laravel:

composer require --dev orchestra/testbench-browser-kit

Selepas pemasangan selesai, kami Anda boleh mula menulis ujian.

Ujian Penulisan

Mencipta Kelas TestCase

Kami akan mencipta kelas TestCase dan melanjutkannya daripada kelas Laravel supaya kami boleh menggunakan fungsi Pengujian Laravel. Masukkan arahan berikut dalam tetingkap terminal:

php artisan make:test EndToEndExampleTest

Arahan ini akan mencipta fail EndToEndExampleTest.php dalam direktori /tests/. Gantikan kandungan keseluruhan fail dengan kod contoh berikut:

<?php

namespace TestsFeature;

use IlluminateFoundationTestingRefreshDatabase;
use LaravelBrowserKitTestingTestCase as BaseTestCase;

abstract class EndToEndTestCase extends BaseTestCase
{
    use CreatesApplication;
}

Mencipta ujian

Sebelum kita mula menulis ujian, kita perlu memastikan aplikasi Laravel sedang berjalan. Kami boleh memulakan aplikasi kami menggunakan arahan berikut:

php artisan serve

Kini kami boleh menulis ujian yang menguji fungsi log masuk dan pendaftaran. Dalam kelas ujian EndToEndExampleTest, tambahkan kaedah ujian berikut:

public function testUserRegistration()
{
    $this->browse(function ($browser) {
        // 访问登陆页面
        $browser->visit('/login')
                ->assertSee('Login')
                ->assertSee('Email')
                ->assertSee('Password');
                
        // 注册新用户
        $browser->visit('/register')
                ->type('name', 'John Doe')
                ->type('email', 'johndoe@example.com')
                ->type('password', 'password')
                ->type('password_confirmation', 'password')
                ->press('Register')
                ->assertPathIs('/home');
                
        // 退出登录
        $browser->click('#navbarDropdown')
                ->assertSee('Logout')
                ->clickLink('Logout')
                ->assertPathIs('/');
    });
}

Dalam ujian di atas, kami menggunakan komponen ujian pelayar Ujian Laravel untuk mensimulasikan operasi pengguna. Kami melawat halaman log masuk, menyerahkan borang log masuk, kemudian melawat halaman pendaftaran untuk mencipta pengguna baharu, dan akhirnya log keluar. Kami menyemak sama ada output adalah seperti yang dijangkakan dan laluan dan lokasi yang diminta adalah betul.

Kita boleh menjalankan ujian menggunakan arahan berikut:

php artisan test --testsuite=Feature

Selepas larian selesai, konsol akan memaparkan keputusan ujian.

Ringkasan

Pengujian Laravel ialah perpustakaan ujian yang disertakan dengan rangka kerja Laravel Ia menyediakan alat ujian hujung ke hujung yang mudah dan mesra serta sambungan berfungsi, memudahkan kami menulis dan menjalankan ujian. Dalam artikel ini, kami mempelajari cara menggunakan Ujian Laravel untuk ujian hujung ke hujung dan menunjukkan cara menggunakan Ujian Laravel untuk ujian penyemak imbas dengan membuat ujian log masuk dan pendaftaran asas. Dalam amalan, anda boleh memperibadikan ujian anda mengikut keperluan dan mengesahkan pelbagai aspek aplikasi anda.

Atas ialah kandungan terperinci Pembangunan Laravel: Bagaimana untuk menggunakan Ujian Laravel untuk ujian hujung ke hujung?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn