Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah operasi Behat biasa dalam pengaturcaraan PHP?

Apakah operasi Behat biasa dalam pengaturcaraan PHP?

PHPz
PHPzasal
2023-06-12 08:19:501003semak imbas

Apakah operasi Behat biasa dalam pengaturcaraan PHP?

Behat ialah alat pembangunan dipacu tingkah laku (BDD) yang membolehkan penguji dan pembangun menulis kes ujian dalam bahasa semula jadi dan menukar kes ujian ini kepada kod boleh laku. Ia menyokong bahasa PHP dan menyediakan perpustakaan dan fungsi yang kaya untuk melaksanakan pelbagai operasi ujian biasa. Berikut menyenaraikan operasi Behat biasa dalam pengaturcaraan PHP.

  1. Prasyarat (Latar Belakang)

Apabila menulis kes ujian, kadangkala terdapat beberapa prasyarat biasa yang perlu ditetapkan dahulu, seperti memulakan pelayar, log masuk Pengguna dsb. . Operasi ini boleh dicapai dengan menambahkan Latar Belakang pada fail Ciri. Semua langkah dalam Latar Belakang akan dijalankan sebelum setiap senario ujian dilaksanakan.

Kod sampel:

Feature: 购物车功能测试
  Background:
    Given 打开浏览器
    And 登录用户
  Scenario: 添加商品到购物车
    Given 进入商品详情页
    When 点击“添加到购物车”按钮
    Then 显示“添加成功”的提示消息

Dalam contoh di atas, dua langkah dalam Latar Belakang akan dilaksanakan sebelum setiap senario ujian. Langkah-langkah dalam senario ujian akan mewarisi prasyarat dalam Latar Belakang.

  1. Parameterisasi (Garis Senario)

Behat membenarkan parameterisasi kes ujian melalui Rangka Senario. Dalam Rangka Senario, anda boleh menggunakan ruang letak untuk menggantikan pembolehubah dan menentukan data ujian tertentu dalam jadual Contoh. Dengan cara ini, anda boleh menulis hanya satu set kes ujian, tetapi jalankan ujian beberapa kali dengan data yang berbeza.

Kod sampel:

Feature: 简单计算器功能测试
  Scenario Outline: 加法
    Given 在计算器页面
    When 输入 <x> 和 <y>
    And 点击“加”按钮
    Then 显示正确结果 <result>
    
    Examples:
      | x | y | result |
      | 1 | 2 | 3      |
      | 3 | 4 | 7      |
      | 5 | 6 | 11     |

Dalam contoh di atas, anda boleh menggantikan pembolehubah dengan menggunakan ruang letak dan menentukan data ujian khusus dalam Contoh. Apabila anda menjalankan ujian, Behat akan menjalankan ujian beberapa kali menggunakan data dalam jadual.

3. Perkara tugasan (Belum selesai)

Semasa proses pembangunan, atas sebab tertentu, beberapa kes ujian mungkin tidak selesai dalam kes ini, tag @pending boleh digunakan to Use case ditandakan sebagai item tunggakan.

Kod sampel:

Feature: 订单管理功能测试
  Scenario: 查看历史订单
    Given 登录用户
    When 进入订单列表页
    And 点击“历史订单”按钮
    Then 显示历史订单列表
    
    @pending
    Scenario: 查看收藏夹
    Given 登录用户
    When 进入收藏夹
    Then 显示收藏夹列表

Dalam contoh di atas, kes ujian kedua ditandakan sebagai tugasan dan Behat akan melangkau pelaksanaan kes ujian ini.

  1. Teg ujian (Tag)

Behat menyokong penggunaan teg @ untuk menapis dan menandakan kes ujian. Teg ini boleh diperibadikan atau dipratentukan. Contohnya, @wip (kerja sedang berjalan), @slow (ujian perlahan), @smoke (ujian asap), dsb. Gunakan teg untuk menjalankan ujian tertentu sahaja atau mengabaikan senario ujian tertentu.

Kod sampel:

@wip @javascript
Feature: 用户列表管理功能测试
  Scenario: 用户列表显示
    Given 进入用户列表页面
    Then 显示用户列表
    
@smoke
Feature: 用户登录功能测试
  Scenario: 登录成功
    Given 进入登录页面
    When 输入正确的用户名和密码
    And 点击“登录”按钮
    Then 显示欢迎消息

Dalam contoh di atas, anda boleh menggunakan tag @ untuk menandakan kes ujian yang berbeza dan menapis pelaksanaan seperti yang diperlukan.

Kesimpulan

Di atas adalah operasi Behat biasa dalam pengaturcaraan PHP. Menggunakan operasi ini, anda boleh menulis dan mengurus kes ujian dengan mudah dan menyediakan sokongan ujian yang berkesan semasa proses pembangunan. Penggunaan Behat meningkatkan kecekapan kerja pembangun dan lebih memastikan kualiti dan kebolehpercayaan perisian.

Atas ialah kandungan terperinci Apakah operasi Behat biasa dalam pengaturcaraan PHP?. 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