PHP에서 행동 중심 테스트를 위해 PHPUnit을 사용하는 방법

王林
풀어 주다: 2023-06-27 20:26:01
원래의
724명이 탐색했습니다.

PHP는 널리 사용되는 오픈 소스 프로그래밍 언어입니다. 이는 많은 웹사이트와 애플리케이션의 주요 기술 중 하나입니다. PHP 프레임워크는 여러 내장 단위 테스트 프레임워크를 제공하며, 그 중 PHPUnit이 가장 일반적으로 사용됩니다. PHPUnit은 자동화된 테스트 케이스를 작성하고 실행하기 위한 PHP 테스트 프레임워크입니다.

이 기사에서는 행동 중심 테스트에 PHPUnit을 사용하는 방법에 대해 자세히 알아볼 것입니다.

Behavior Driven Testing(BDD)은 단순히 응용 프로그램 시스템이 예상한 결과를 생성하는지 테스트하는 것이 아니라 응용 프로그램 시스템의 동작을 테스트하는 것을 말합니다. BDD는 안정적이고 사용자 친화적인 코드를 작성하는 데 중요한 역할을 합니다. 여기에는 사양, 시나리오, 단계라는 세 가지 핵심 요소가 포함됩니다.

사양은 애플리케이션 동작에 대한 자세한 설명이고, 시나리오는 사양의 인스턴스화이며, 단계는 시나리오의 작업 및 예상 결과입니다. PHPUnit에서는 PHPUnit BDD 확장을 사용하여 BDD 테스트를 구현할 수 있습니다.

다음은 BDD 테스트에 PHPUnit을 사용하는 단계입니다.

1단계: PHPUnit 설치

PHPUnit은 작곡가를 사용하여 설치할 수 있습니다. Composer.json 파일에 PHPUnit 종속성을 추가하기만 하면 됩니다. PHPUnit을 설치하려면 프로젝트 폴더에서 다음 명령을 실행하세요.

composer require phpunit/phpunit
로그인 후 복사

2단계: PHPUnit BDD 확장 설치

PHPUnit BDD 확장은 PHPUnit을 기반으로 구축되었으며 사양, 시나리오, 단계 및 원하는 결과를 추가하기 위한 몇 가지 추가 기능을 제공합니다.

PHPUnit BDD 확장은 작곡가를 사용하여 설치할 수 있습니다. 다음 명령을 실행하여 PHPUnit BDD 확장 라이브러리에서 확장을 찾으세요.

composer search phpunit-bdd
로그인 후 복사

적합한 PHPUnit BDD 확장 버전을 선택한 다음, Composer.json 파일에 PHPUnit BDD 확장 종속성을 추가하세요. 다음 명령을 실행하여 PHPUnit BDD 확장을 설치합니다.

composer require behat/phpunit-bundle --dev
로그인 후 복사

3단계: 테스트 디렉터리 생성

프로젝트 루트 디렉터리에서 테스트라는 디렉터리를 만들고, 테스트 디렉터리 아래에 기능이라는 하위 디렉터리를 만듭니다.

기능 하위 디렉터리에 Login.feature라는 파일을 만듭니다. 파일 형식은 아래와 같이 Gherkin 언어 설명이어야 합니다.

Feature: Login

  Scenario: A user logs in
    Given I am on the login page
    When I fill in "username" with "myusername"
    And I fill in "password" with "mypassword"
    And I press "login"
    Then I should be on the dashboard page
로그인 후 복사

기능 디렉터리에 bootstrap.php라는 파일을 만듭니다. 이 파일에는 테스트 실행에 필요한 일부 구성과 PHPUnit BDD 확장 기능이 포함되어 있습니다. 파일 내용은 다음과 같습니다.

<?php

require_once __DIR__ . '/../vendor/autoload.php';

$container = new BehatTestworkServiceContainerTesterTesterContainer();
$container->set('phpunit', new BehatPHPUnitDependencyInjectionConfiguration());
$container->set('phpunit.configuration', new BehatPHPUnitConfigurationConfiguration());
로그인 후 복사

4단계: 테스트 클래스 작성

tests 디렉터리에 LoginTest.php라는 파일을 만듭니다. 파일 내용은 다음과 같습니다.

<?php

namespace Tests;

use BehatBehatContextContext;
use BehatBehatTesterExceptionPendingException;
use BehatGherkinNodePyStringNode;
use BehatGherkinNodeTableNode;
use BehatBehatContextSnippetAcceptingContext;
use PHPUnitFrameworkTestCase;

class LoginTest extends TestCase implements Context, SnippetAcceptingContext
{
    public function testLogin()
    {
        $this->getPage('login');
        $this->fillField('username', 'myusername');
        $this->fillField('password', 'mypassword');
        $this->pressButton('login');
        $this->assertPageContainsText('dashboard');
    }
}
로그인 후 복사

5단계: 테스트 실행

프로젝트 디렉터리에서 다음 명령을 실행하여 테스트를 실행합니다.

vendor/bin/behat
로그인 후 복사

PHPUnit은 자동으로 테스트 케이스를 로드하고 테스트를 실행하며 생성합니다. 해당 테스트 보고서.

BDD 테스트의 한 가지 장점은 애플리케이션에 대한 사용자 친화적인 입력 및 출력을 생성한다는 것입니다. BDD 테스트는 코드가 제대로 작동하는지 테스트할 뿐만 아니라 코드가 이해하고 사용하기 쉬운지도 테스트합니다. 이는 팀 간의 협력과 의사소통을 촉진하여 개발자가 사용자 요구와 경험에 더 많은 관심을 기울일 수 있게 해줍니다.

PHPUnit에서 BDD 테스트를 구현하는 것은 어렵지 않습니다. 위의 단계에 따라 BDD 테스트 사례 작성을 시작하면 코드의 안정성과 사용자 친화성을 보장할 수 있습니다.

위 내용은 PHP에서 행동 중심 테스트를 위해 PHPUnit을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿