Rumah pembangunan bahagian belakang tutorial php Bagaimana untuk menggunakan Behat dalam pengaturcaraan PHP?

Bagaimana untuk menggunakan Behat dalam pengaturcaraan PHP?

Jun 12, 2023 am 08:39 AM
bahasa php rangka kerja Ujian pengaturcaraan

Dalam pengaturcaraan PHP, Behat ialah alat yang sangat berguna, yang boleh membantu pengaturcara memahami keperluan perniagaan dengan lebih baik semasa proses pembangunan dan memastikan kualiti kod. Dalam artikel ini, kami akan memperkenalkan cara menggunakan Behat dalam pengaturcaraan PHP.

1. Apakah itu Behat?

Behat ialah rangka kerja pembangunan dipacu tingkah laku (BDD) yang menggabungkan kod PHP melalui penerangan bahasa (kes penggunaan yang ditulis dalam bahasa Gherkin), dengan itu membolehkan kod dan keperluan perniagaan berfungsi bersama. Menggunakan Behat untuk ujian membolehkan pengaturcara berubah daripada pengesahan tatabahasa dan tingkah laku yang mudah kepada menggunakan bahasa semula jadi untuk menyatakan kejadian perniagaan dan mengesahkan kejadian ini secara automatik. Behat menghubungkan dengan sempurna keperluan perihalan "klien" dan pemprosesan pelaksanaan "pelayan".

2. Pemasangan Behat

Gunakan komposer (pengurus pakej PHP) untuk memasang Behat. Buka konsol (terminal) dalam direktori projek dan masukkan arahan berikut:

composer require --dev behat/behat

Peringatan: --dev bermaksud Behat digunakan dalam pembangunan. Jika anda menggunakan Behat dalam persekitaran pengeluaran, anda tidak seharusnya menambah parameter --dev.

3. Tulis Ciri

Selepas melengkapkan pemasangan, kami boleh mencipta Ciri dalam direktori APP_PATH/features/:

Feature: 搜索
  我想在“首页”上搜索某个商品
  为了快捷找到我需要的商品
  我需要查询到相应结果

  Scenario: 搜索结果是正确的
    Given 我在“首页”页面
    When 我输入“水杯”作为搜索关键字
    And 我点击“搜索”按钮
    Then 我应该看到网页标题包含“水杯”
Salin selepas log masuk

Bahasa Gherkin di atas menerangkan Ciri, yang mengandungi Satu set senario (Senario) yang menerangkan cara melengkapkan carian dan mengesahkan keputusan.

4. Konfigurasikan Behat

Kita perlu menentukan pilihan konfigurasi Behat melalui konfigurasi fail konfigurasi/behat.yml. Berikut ialah fail konfigurasi ringkas:

default:
  suites:
    default:
      contexts:
        - FeatureContext
      filters:
        tags: ''
  extensions:
    BehatMinkExtension:
      base_url: "http://localhost/"
      files_path: "%paths.base%/persistent/files"
      goutte: ~
      selenium2: ~
    BehatSymfony2Extension:
      kernel:
        env: test
        debug: true
Salin selepas log masuk

Fail konfigurasi ini memberitahu Behat kelas Konteks yang perlu digunakan dan jenis penyemak imbas yang perlu digunakan.

5 Tulis kelas Konteks

Kita perlu mencipta kelas Konteks untuk mengendalikan langkah yang ditakrifkan dalam Ciri dan memanggil kod ujian bertulis untuk mengesahkan ketepatan kod. Codeception dan PHPUnit ialah beberapa perpustakaan ujian yang menyokong Behat Kami akan menggunakan PHPUnit untuk menunjukkan cara menulis kelas Konteks.

Buat FeatureContext.php dalam direktori APP_PATH/features/bootstrap/ dan tambahkan kod berikut:

<?php

use BehatBehatContextContext;
use BehatBehatHookScopeBeforeFeatureScope;
use BehatBehatTesterExceptionPendingException;
use BehatMinkWebAssert;
use BehatMinkExtensionContextMinkContext;
use PHPUnitFrameworkAssert as PHPUnit;

class FeatureContext extends MinkContext implements Context
{
 
    public function __construct($baseUrl)
    {
        $this->baseUrl = $baseUrl;
    }
 
    /**
     * @param BeforeFeatureScope $scope
     */
    public static function setup(BeforeFeatureScope $scope)
    {
        // 配置数据库等其他代码
    }

    /**
     * @Given /^我在“(.*)”页面$/
     */
    public function 在页面($page)
    {
        $this->visitPath(sprintf('/%s', $page));
    }

    /**
     * @When /^我输入“(.*)”作为搜索关键字$/
     */
    public function 输入作为搜索关键字($keyword)
    {
        $page = $this->getPage();
        $searchForm = $page->find('css', 'form[action="/search"]');
        $searchInput = $searchForm->find('css', 'input[type="text"]');
        $searchInput->setValue($keyword);
    }

    /**
     * @When /^我点击“(.*)”按钮$/
     */
    public function 点击按钮($button)
    {
        $page = $this->getPage();
        $button = $page->find('css', sprintf('input[type="submit"][value="%s"]', $button));
        $button->click();
    }

    /**
     * @Then /^我应该看到网页标题包含“(.*?)”$/
     */
    public function 应该看到网页标题包含($expected)
    {
        PHPUnit::assertTrue(stripos($this->getSession()->getPage()->getTitle(), $expected) !== false);
    }
}
Salin selepas log masuk

Kod di atas mentakrifkan satu set langkah (langkah) untuk senario yang ditakrifkan dalam Ciri ( senario) telah dilaksanakan.

6. Jalankan ujian

Lakukan arahan berikut dalam konsol:

vendor/bin/behat

Selepas melaksanakan arahan, Behat akan berdasarkan konfigurasi/behat Konfigurasi dalam fail .yml dilaksanakan pada fail Ciri. Konsol mungkin mempunyai beberapa bar kemajuan dan gesaan ralat, dan akhirnya lulus ujian atau maklumat kegagalan akan disenaraikan.

Di sini, kami telah mempelajari cara menggunakan Behat dalam pengaturcaraan PHP untuk menyelesaikan ujian. Menggunakan Behat boleh meningkatkan ekspresi kod perniagaan, mengurangkan isu kualiti semasa proses pembangunan, dan meningkatkan kerjasama pembangunan pasukan dan kecekapan kemajuan keseluruhan.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan Behat dalam pengaturcaraan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menangani ralat pengepala permintaan dalam pembangunan bahasa PHP? Bagaimana untuk menangani ralat pengepala permintaan dalam pembangunan bahasa PHP? Jun 10, 2023 pm 05:24 PM

Dalam pembangunan bahasa PHP, ralat pengepala permintaan biasanya disebabkan oleh beberapa masalah dalam permintaan HTTP. Isu ini mungkin termasuk pengepala permintaan yang tidak sah, badan permintaan yang tiada dan format pengekodan yang tidak dikenali. Mengendalikan ralat pengepala permintaan ini dengan betul adalah kunci untuk memastikan kestabilan dan keselamatan aplikasi. Dalam artikel ini, kami akan membincangkan beberapa amalan terbaik untuk mengendalikan ralat pengepala permintaan PHP untuk membantu anda membina aplikasi yang lebih dipercayai dan selamat. Menyemak kaedah permintaan Protokol HTTP menentukan satu set kaedah permintaan yang tersedia (cth. GET, POS

Bagaimana untuk menggunakan sambungan Ctype PHP? Bagaimana untuk menggunakan sambungan Ctype PHP? Jun 03, 2023 pm 10:40 PM

PHP ialah bahasa pengaturcaraan yang sangat popular yang membolehkan pembangun mencipta pelbagai jenis aplikasi. Walau bagaimanapun, kadangkala semasa menulis kod PHP, kita perlu mengendalikan dan mengesahkan aksara. Di sinilah sambungan Ctype PHP berguna. Artikel ini akan memperkenalkan cara menggunakan sambungan Ctype PHP. Apakah sambungan Ctype? Sambungan Ctype untuk PHP ialah alat yang sangat berguna yang menyediakan pelbagai fungsi untuk mengesahkan jenis aksara dalam rentetan. Fungsi ini termasuk isalnum, ialah

Bagaimana untuk mengelakkan isu keselamatan kerentanan laluan lintasan dalam pembangunan bahasa PHP Bagaimana untuk mengelakkan isu keselamatan kerentanan laluan lintasan dalam pembangunan bahasa PHP Jun 10, 2023 am 09:43 AM

Dengan perkembangan teknologi Internet, semakin banyak laman web dan aplikasi dibangunkan menggunakan bahasa PHP. Namun, isu keselamatan turut timbul. Salah satu isu keselamatan biasa ialah kelemahan laluan lintasan. Dalam artikel ini, kami akan meneroka cara untuk mengelakkan kelemahan laluan traversal dalam pembangunan bahasa PHP untuk memastikan keselamatan aplikasi. Apakah kelemahan laluan laluan? Kerentanan laluan laluan (PathTraversal) ialah kelemahan web biasa yang membenarkan penyerang mengakses pelayan web tanpa kebenaran.

Bahasa php menyokong beberapa gaya komen Bahasa php menyokong beberapa gaya komen Feb 15, 2022 pm 02:05 PM

Bahasa PHP menyokong 3 gaya ulasan: 1. Gaya C, menggunakan simbol "//" dan sintaks "//kandungan komen" 2. Gaya bahasa C, menggunakan simbol "/* */" dan sintaks "/* kandungan ulasan*" /"; 3. Gaya Shell (gaya Perl), menggunakan simbol "#" dan sintaks "#komen".

Cara menggunakan Phpt untuk ujian unit dalam PHP Cara menggunakan Phpt untuk ujian unit dalam PHP Jun 27, 2023 am 08:35 AM

Dalam pembangunan moden, ujian unit telah menjadi langkah yang perlu. Ia boleh digunakan untuk memastikan kod anda berkelakuan seperti yang diharapkan dan pepijat boleh diperbaiki pada bila-bila masa. Dalam pembangunan PHP, Phpt ialah alat ujian unit yang sangat popular, yang sangat mudah untuk menulis dan melaksanakan ujian unit. Dalam artikel ini, kami akan meneroka cara menggunakan Phpt untuk ujian unit. 1. Apa itu PhptPhpt ialah alat ujian unit yang ringkas tetapi berkuasa, yang merupakan sebahagian daripada ujian PHP. Kes ujian Phpt ialah satu siri coretan kod sumber PHP yang

Bagaimana untuk menggunakan Behat dalam pengaturcaraan PHP? Bagaimana untuk menggunakan Behat dalam pengaturcaraan PHP? Jun 12, 2023 am 08:39 AM

Dalam pengaturcaraan PHP, Behat ialah alat yang sangat berguna yang boleh membantu pengaturcara lebih memahami keperluan perniagaan semasa proses pembangunan dan memastikan kualiti kod. Dalam artikel ini, kami akan memperkenalkan cara menggunakan Behat dalam pengaturcaraan PHP. 1. Apakah Behat? Behat ialah rangka kerja pembangunan dipacu tingkah laku (BDD) yang menggabungkan kod PHP melalui penerangan bahasa (kes penggunaan yang ditulis dalam bahasa Gherkin), dengan itu membolehkan kod dan keperluan perniagaan berfungsi bersama. Gunakan Behat untuk melakukan

Ralat dan penyelesaian biasa semasa menghuraikan JSON dalam pembangunan bahasa PHP Ralat dan penyelesaian biasa semasa menghuraikan JSON dalam pembangunan bahasa PHP Jun 10, 2023 pm 12:00 PM

Dalam pembangunan bahasa PHP, selalunya perlu untuk menghuraikan data JSON untuk pemprosesan dan operasi data seterusnya. Walau bagaimanapun, apabila menghuraikan JSON, mudah untuk menghadapi pelbagai ralat dan masalah. Artikel ini akan memperkenalkan ralat biasa dan kaedah pemprosesan untuk membantu pembangun PHP memproses data JSON dengan lebih baik. 1. Ralat format JSON Ralat yang paling biasa ialah format JSON tidak betul. Data JSON mesti mematuhi spesifikasi JSON, iaitu, data mestilah koleksi pasangan nilai kunci dan menggunakan kurungan kerinting ({}) dan kurungan segi empat sama ([]) untuk mengandungi data.

Bagaimana untuk mengelakkan kelemahan berkaitan LDAP dalam pembangunan bahasa PHP? Bagaimana untuk mengelakkan kelemahan berkaitan LDAP dalam pembangunan bahasa PHP? Jun 10, 2023 pm 09:18 PM

LDAP (Lightweight Directory Access Protocol) ialah protokol rangkaian biasa yang digunakan untuk mengakses dan mengurus perkhidmatan direktori. Dalam pembangunan bahasa PHP, LDAP sering digunakan untuk berinteraksi dengan perkhidmatan direktori LDAP luaran, seperti pengesahan identiti dan kebenaran pengguna. Walau bagaimanapun, disebabkan sifat LDAP, ia juga mempunyai beberapa kelemahan keselamatan, seperti isu suntikan LDAP dan penggantian LDAP. Artikel ini akan meneroka cara untuk mengelakkan kelemahan berkaitan LDAP dalam pembangunan bahasa PHP. Elakkan suntikan LDAP Suntikan LDAP ialah kelemahan keselamatan biasa, seperti

See all articles