Rumah > Artikel > pembangunan bahagian belakang > Panduan teknikal untuk ujian Mock dalam PHP
Dengan pembangunan berterusan pembangunan perisian, semakin banyak projek perlu diuji. Teknologi ujian olok-olok adalah salah satu kaedah ujian yang sangat penting. Ujian olok-olok merujuk kepada menggunakan objek olok-olok untuk menggantikan objek sebenar untuk mencapai ujian terperinci kelakuan menjalankan kod. Artikel ini akan memperkenalkan teknologi ujian Mock dalam PHP, termasuk konsep asas, kaedah pelaksanaan, kaedah penggunaan dan analisis kelebihan dan kekurangan.
1. Konsep Asas Pengujian Mock
Objek Olok-olok merujuk kepada objek palsu yang digunakan untuk menggantikan objek sebenar dan menyediakan antara muka dan Peniruan tingkah laku. Objek yang disimulasikan oleh Mock Object biasanya dibuat secara manual oleh pengaturcara.
Stub ialah sejenis Objek Olok-olok, yang biasanya hanya memberikan respons yang sangat mudah, seperti mengembalikan nilai. Stub boleh digunakan untuk menguji nilai pulangan mudah fungsi, hasil pertanyaan pangkalan data, sambungan rangkaian, dsb.
Mock ialah satu lagi bentuk Objek Olok-olok Selain memberikan respons mudah, ia juga boleh merekodkan panggilan dan parameter yang dihantar kepada kaedahnya. Kelebihan terbesar ujian olok-olok ialah ia boleh mengesahkan sama ada kod dipanggil dengan betul.
Spy ialah satu lagi bentuk Objek Olok-olok, yang boleh merekodkan parameter yang dihantar dan kaedah dipanggil.
2. Kaedah pelaksanaan
Biasanya terdapat dua cara untuk melaksanakan ujian Mock dalam PHP: pelaksanaan manual dan penggunaan rangka kerja Mock.
Kunci kepada pelaksanaan manual ujian Mock ialah menggunakan mekanisme refleksi PHP untuk mengakses kelas dan kaedah. Langkah-langkah umum adalah seperti berikut:
Terdapat banyak rangka kerja Mock yang digunakan untuk PHP pada masa ini, seperti PHPUnit, Mockery, Phake, dll. Kedua-duanya menyediakan tahap simulasi dan kebolehujian yang tinggi.
Antaranya, PHPUnit ialah rangka kerja ujian popular dan rangka kerja ujian Mock. Olok-olok ialah rangka kerja ujian Mock tertumpu kod dengan sintaks yang jelas dan konfigurasi fleksibel.
3. Penggunaan
Yang berikut menggunakan rangka kerja PHPUnit sebagai contoh untuk memperkenalkan penggunaan ujian Mock dalam PHP.
Untuk memasang PHPUnit, anda boleh menggunakan Composer melalui arahan berikut:
composer require --dev phpunit/phpunit
Apabila menulis kes ujian, anda perlu mencipta objek Mock dan objek Stub. PHPUnit menyediakan beberapa kaedah untuk mencipta objek ini.
Sebagai contoh, kita boleh mencipta objek Mock menggunakan kaedah berikut:
$mock = $this->getMockBuilder('SomeClass')->getMock();
Kami juga boleh mencipta Stub menggunakan kaedah berikut:
$stub = $this->getMockBuilder('SomeClass')->disableOriginalConstructor()->getMock();
dalam Apabila menggunakan ujian Mock, anda boleh mengejek fungsi atau kaedah contoh dengan menulis kes ujian seperti berikut:
testFunctionMock() fungsi awam
{
$function = $this->getMockBuilder('NamespaceFunctions')->setMethods(['doSome'])->getMock(); $function->expects($this->once()) ->method('doSome') ->willReturn('hello'); $this->assertEquals('hello', $function->doSome());
}
Dalam kes ujian di atas, kami mengejek Fungsi dan menambah kaedah doSome menggunakan setMethods. Kemudian kami menetapkan jangkaan untuk kaedah olok-olok: dipanggil sekali sahaja dan mengembalikan nilai 'hello'.
Gunakan pelari ujian yang disertakan dengan PHPUnit untuk menjalankan kes ujian, seperti ditunjukkan di bawah:
./vendor/ ujian bin/phpunit
4. Analisis kelebihan dan kekurangan
Ujian olok-olok bukan sahaja boleh mengoptimumkan kod dengan berkesan dan mempercepatkan kelajuan ujian, tetapi juga membolehkan pengaturcara menumpukan perhatian dan meningkatkan kualiti kod.
5. Ringkasan
Teknologi ujian olok-olok ialah bahagian yang sangat diperlukan dalam ujian perisian. Untuk melaksanakan teknologi ujian Mock dalam PHP, anda boleh menggunakan rangka kerja ujian seperti PHPUnit, atau anda boleh melaksanakannya secara manual. Ujian olok-olok boleh mengesahkan ketepatan kod dan boleh meningkatkan kebolehpercayaan kod dan kualiti kod pengaturcara dengan mensimulasikan dan meliputi semua laluan pelaksanaan kod. Walaupun teknologi ujian Mock memerlukan sejumlah masa dan usaha untuk menulis dan menyelenggara kes ujian, secara amnya, ia membolehkan pembangun menggunakan kod dengan lebih yakin, dengan itu meningkatkan kualiti kod dan kecekapan ujian.
Atas ialah kandungan terperinci Panduan teknikal untuk ujian Mock dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!