Cara menggunakan Jenkins untuk ujian automatik dalam pembangunan PHP

WBOY
Lepaskan: 2023-06-27 18:12:01
asal
1126 orang telah melayarinya

Memandangkan skala aplikasi web terus berkembang, aplikasi bahasa PHP menjadi semakin meluas. Dalam proses pembangunan perisian, ujian automatik boleh meningkatkan kecekapan pembangunan dan kualiti perisian. Jenkins ialah pelayan automasi sumber terbuka yang boleh diperluaskan secara automatik yang boleh melaksanakan pembinaan perisian, ujian, penggunaan dan operasi lain Hari ini kita akan melihat cara menggunakan Jenkins untuk ujian automatik dalam pembangunan PHP.

1. Pemasangan dan konfigurasi Jenkins
Pertama, kita perlu memasang Jenkins pada pelayan. Jenkins menyokong berbilang sistem pengendalian, termasuk Windows, Linux, Mac dan banyak lagi. Selepas pemasangan selesai, masukkan alamat URL Jenkins dalam penyemak imbas, dan masukkan nama pengguna dan kata laluan akaun pentadbir untuk log masuk ke Jenkins.

Selepas pemasangan selesai, pada antara muka utama Jenkins, kami perlu mengkonfigurasi beberapa pemalam dan alatan untuk digunakan dalam pembangunan PHP.

  1. Pasang pemalam PHP
    Pada antara muka utama Jenkins, klik "Pengurusan Sistem-Pengurusan Plug-in", kemudian masukkan "php" dalam kotak carian, semak pemalam PHP dan pasangnya.
  2. Pasang pemalam Selenium
    Selenium ialah alat untuk ujian penyemak imbas automatik yang boleh membantu kami mengautomasikan ujian aplikasi web. Begitu juga, cari dan pasang pemalam Selenium dalam Jenkins.
  3. Pasang Komposer
    Komposer ialah pengurus pakej PHP yang boleh membantu kami mengurus perpustakaan dan komponen bergantung secara automatik dalam pembangunan PHP. Cari dan pasang pemalam Komposer dalam Jenkins.
  4. Pasang PHPUnit
    PHPUnit ialah rangka kerja ujian unit untuk PHP Ia adalah rangka kerja ujian sumber terbuka yang boleh digunakan untuk menulis dan menjalankan ujian unit untuk PHP. Cari dan pasang pemalam PHPUnit dalam Jenkins.

Selepas pemasangan selesai, kami boleh membuat beberapa tetapan dalam konfigurasi global Jenkins untuk digunakan semasa menjalankan ujian automatik PHP. Contohnya, tetapkan laluan PHP dan Komposer, serta penyemak imbas tertentu dan port Selenium, dan banyak lagi.

2. Bina projek Jenkins
Projek dalam Jenkins ialah proses membina perisian. Dalam pembangunan PHP, kami boleh menganggap setiap projek sebagai projek Jenkins untuk membina dan mengurus proses ujian dalam Jenkins.

Pada antara muka utama Jenkins, klik "Projek Baru", isikan nama projek, pilih "Bina projek perisian gaya bebas", dan kemudian klik "OK".

Seterusnya, buat beberapa tetapan dalam konfigurasi projek untuk digunakan dalam ujian automatik PHP. Contohnya, menyediakan kawalan sumber, membina pencetus, membina persekitaran, membina langkah dan banyak lagi.

Yang lebih penting ialah "langkah bina", kerana di sinilah kami menggunakan ujian automatik PHP. Dalam "Langkah Bina", kita boleh menambah berbilang arahan pelaksanaan, seperti menggunakan Komposer untuk memasang perpustakaan bergantung, melaksanakan skrip ujian PHPUnit dan sebagainya. Seterusnya, kami memperkenalkan secara terperinci dua kaedah ujian automatik yang biasa digunakan: ujian unit dan ujian berfungsi.

3. Ujian Unit
Ujian unit merujuk kepada proses menguji satu komponen sistem perisian, dengan tujuan untuk mengesahkan satu persatu sama ada setiap komponen berfungsi seperti yang diharapkan. Dalam pembangunan PHP, kita boleh menggunakan PHPUnit untuk ujian unit.

Berikut ialah contoh kod ujian untuk PHP:

<?php
use PHPUnitFrameworkTestCase;
 
class StringUtilTest extends TestCase
{
  
   public function testStringLength()
   {
       $stringUtil = new StringUtil();
       $string = 'PHPUnit test';
       $length = $stringUtil->getLength($string);
 
       $this->assertEquals(11, $length);
   }
}
Salin selepas log masuk

Dalam "Langkah Bina" projek Jenkins, kita boleh menambah arahan PHPUnit dan melaksanakan ujian:

composer install
vendor/bin/phpunit tests/
Salin selepas log masuk

4. Ujian fungsional
Ujian fungsional merujuk kepada ujian prestasi sistem perisian Adakah proses ujian berfungsi seperti yang diharapkan? Dalam pembangunan PHP, kita boleh menggunakan Selenium untuk ujian berfungsi.

Pertama, dalam "langkah binaan" projek Jenkins, kita perlu menambah arahan berikut:

composer install
vendor/bin/phpunit tests/
java -jar selenium-server-standalone.jar
Salin selepas log masuk

Antaranya, selenium-server-standalone.jar ialah alat Selenium yang boleh memulakan perkhidmatan Selenium pada baris arahan . Selepas memuat turun alat Selenium, letakkannya dalam direktori akar projek.

Seterusnya, tambahkan kod sampel dalam PHP untuk menguji:

<?php
use FacebookWebDriverRemoteRemoteWebDriver;
use FacebookWebDriverRemoteDesiredCapabilities;
 
class ExampleFunctionalTest extends PHPUnitFrameworkTestCase
{
   public function testChrome()
   {
       $driver = RemoteWebDriver::create(
           'http://localhost:4444/wd/hub',
           DesiredCapabilities::chrome()
       );
 
       $driver->get('http://www.google.com');
       $this->assertEquals('Google', $driver->getTitle());
   }
}
Salin selepas log masuk

Jalankan projek Jenkins, Jenkins akan memulakan perkhidmatan Selenium dan secara automatik melakukan ujian berfungsi. Lihat keputusan ujian dalam Jenkins Jika ujian itu lulus, ujian itu berjaya.

5. Ringkasan
Melalui artikel ini, kami mempelajari cara menggunakan Jenkins untuk ujian automatik dalam pembangunan PHP. Mula-mula, kami memasang dan mengkonfigurasi pemalam, alatan dan persekitaran Jenkins. Seterusnya, kami memperkenalkan kaedah ujian automatik untuk ujian unit dan ujian fungsi masing-masing dengan menyediakan langkah binaan projek Jenkins.

Pengujian automatik boleh meningkatkan kecekapan dan kualiti perisian pembangunan PHP. Saya harap artikel ini akan membantu pembangun PHP.

Atas ialah kandungan terperinci Cara menggunakan Jenkins untuk ujian automatik dalam pembangunan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan