PHP 개발에서 단위 테스트를 위해 PHPUnit을 사용하는 방법

WBOY
풀어 주다: 2023-06-27 12:56:01
원래의
1067명이 탐색했습니다.

웹 개발에서 PHP 언어가 광범위하게 적용됨에 따라 단위 테스트에 PHPUnit을 사용하는 것이 PHP 개발의 중요한 부분이 되었습니다. 단위 테스트는 코드에서 문제를 찾고 코드의 유지 관리성과 가독성을 향상시키는 데 도움이 될 수 있습니다. 이 기사에서는 단위 테스트에 PHPUnit을 사용하는 방법을 소개합니다.

  1. PHPUnit 설치

PHPUnit은 Composer를 통해 설치할 수 있습니다. 터미널에 다음 명령을 입력하세요.

composer require --dev phpunit/phpunit
로그인 후 복사
  1. 테스트 파일 작성

테스트할 코드에 따라 해당 테스트 파일을 작성해야 합니다. 테스트 파일은 예상 결과를 충족하는지 확인하기 위해 PHPUnit에서 제공하는 어설션 함수(어설션)를 사용해야 합니다. 다음은 간단한 예입니다.

class CalculatorTest extends PHPUnitFrameworkTestCase
{
    public function testAdd()
    {
        $calculator = new Calculator();
        $result = $calculator->add(2, 2);
        $this->assertEquals(4, $result);
    }
}
로그인 후 복사

이 테스트 파일에서는 PHPUnitFrameworkTestCase 클래스를 상속하고, Calculator 클래스의 add 메서드를 테스트하기 위한 testAdd 메서드를 정의하고, PHPUnit에서 제공하는 AssertEquals 함수를 사용하여 실제 결과가 다음과 같은지 확인합니다. 기대한 결과와 같습니다.

  1. 테스트 실행

테스트 파일을 실행하려면 터미널에서 다음 명령을 실행해야 합니다.

vendor/bin/phpunit tests/CalculatorTest.php
로그인 후 복사

이 명령은 PHPUnit을 시작하고 테스트/CalculatorTest.php 파일의 모든 테스트 메서드를 실행합니다. 모든 테스트가 통과하면 PHPUnit은 녹색 기호를 출력합니다. 하나 이상의 테스트가 실패하면 PHPUnit은 오류 메시지를 출력하고 구체적인 실패 이유를 제공합니다.

  1. 커버리지 분석

PHPUnit은 테스트 코드에서 몇 줄이 실행되었는지 분석하는 데 도움이 되는 코드 커버리지 분석 도구도 제공합니다. 테스트를 실행하여 적용 범위 보고서를 생성하려면 명령 뒤에 --coverage-html 옵션을 추가하세요.

vendor/bin/phpunit --coverage-html coverage tests/CalculatorTest.php
로그인 후 복사

이 명령은 현재 디렉토리에 HTML 파일이 포함된 커버리지 디렉토리를 생성합니다. 이를 열어 커버리지 분석 결과를 확인하세요.

  1. Data Provider

테스트 파일을 작성할 때 여러 데이터 세트가 예상 결과를 충족하는지 테스트해야 할 수도 있습니다. 이때 PHPUnit에서 제공하는 데이터 공급자 기능을 사용하면 반복적인 테스트 코드 작성을 피할 수 있습니다. 다음은 데이터 공급자 사용의 예입니다.

class CalculatorTest extends PHPUnitFrameworkTestCase
{
    /**
     * @dataProvider additionProvider
     */
    public function testAdd($a, $b, $expected)
    {
        $calculator = new Calculator();
        $result = $calculator->add($a, $b);
        $this->assertEquals($expected, $result);
    }

    public function additionProvider()
    {
        return [
            [0, 0, 0],
            [0, 1, 1],
            [1, 0, 1],
            [1, 1, 2],
            [-1, 1, 0],
            [PHP_INT_MAX, 1, PHP_INT_MAX + 1],
        ];
    }
}
로그인 후 복사

계산기 테스트 클래스에서는 두 개의 피연산자와 예상 결과가 포함된 테스트 데이터 집합을 반환하는덧셈공급자 메서드를 정의합니다. testAdd 메소드에서는 dataProvider 주석을 사용하여 데이터 공급자를 식별합니다. 이때 PHPUnit은 매번 데이터 세트를 사용하여 여러 테스트를 자동으로 실행합니다.

요약

단위 테스트에 PHPUnit을 사용하면 코드의 품질과 유지 관리성을 향상하는 데 도움이 될 수 있습니다. 이 글에서는 설치, 테스트 파일 작성, 테스트 실행, 커버리지 분석, 데이터 제공자 등 PHPUnit의 기능을 소개합니다. 이 내용이 PHP 개발자의 단위 테스트에 도움이 되기를 바랍니다.

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

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