소프트웨어 개발이 발전하면서 점점 더 많은 개발자가 단위 테스트의 중요성을 인식하고 있습니다. 단위 테스트는 단일 기능 모듈("유닛"이라고도 함)의 정확성을 테스트하여 코드의 정확성과 안정성을 보장하는 소프트웨어 개발의 일반적인 테스트 방법입니다. 이 기사에서는 PHP 및 PHPUnit을 사용하여 단위 테스트 및 코드 적용 범위를 달성하는 방법을 다룹니다.
PHPUnit은 PHP 코드 테스트를 위한 오픈 소스 테스트 프레임워크입니다. 단위 테스트, 기능 테스트, 통합 테스트를 포함한 다양한 테스트 유형을 지원합니다. 이번 글에서는 단위 테스트에 초점을 맞춰보겠습니다.
단위 테스트와 코드 적용 범위가 왜 필요한가요?
소프트웨어를 개발할 때 우리는 일반적으로 코드를 최대한 테스트하려고 합니다. 단위 테스트는 코드의 정확성을 보장하기 위해 개발 프로세스 중에 지속적으로 테스트할 수 있는 보다 효율적인 테스트 방법입니다. 그 외에도 다음과 같은 장점이 있습니다.
코드 커버리지는 테스트 커버리지를 평가하는 방법입니다. 코드가 얼마나 잘 테스트되었는지 알려줍니다. 예를 들어, 테스트 적용 범위가 60%라면 테스트 코드가 소스 코드의 60%를 포함한다는 의미입니다. 코드 커버리지를 통해 소프트웨어 품질이 높은지, 더 많은 테스트 케이스가 필요한지 여부를 측정할 수 있습니다.
PHPUnit으로 단위 테스트를 시작하세요
계속하기 전에 PHPUnit이 설치되어 있는지 확인해야 합니다. Composer를 통해 설치할 수 있습니다. 프로젝트 디렉터리에 작곡가.json 파일을 만들고 PHPUnit 종속성을 추가합니다.
{ "require-dev": { "phpunit/phpunit": "^7.0" } }
다음 명령을 실행하여 PHPUnit을 설치할 수 있습니다.
composer install --dev
다음으로 간단한 단위 테스트를 작성하는 방법을 보여 드리겠습니다. 기본적인 산술 연산을 수행하는 "계산기"라는 PHP 클래스를 작성한다고 가정해 보세요. 코드는 다음과 같습니다.
class Calculator { public function add($a, $b) { return $a + $b; } public function subtract($a, $b) { return $a - $b; } }
이제 Calculator 클래스를 테스트할 "CalculatorTest"라는 테스트 클래스를 작성합니다.
use PHPUnitFrameworkTestCase; class CalculatorTest extends TestCase { public function testAdd() { $calculator = new Calculator(); $result = $calculator->add(1, 2); $this->assertEquals(3, $result); } public function testSubtract() { $calculator = new Calculator(); $result = $calculator->subtract(2, 1); $this->assertEquals(1, $result); } }
위 코드에서는 PHPUnit에서 제공하는 기본 테스트 방법 중 하나인 AssertEquals()를 사용했습니다. 테스트 값을 예상 값과 비교하고 같지 않으면 예외를 발생시킵니다.
이제 PHPUnit 테스트를 실행하세요:
./vendor/bin/phpunit CalculatorTest.php
모든 테스트가 통과하면 다음 출력이 표시됩니다:
PHPUnit 7.5.1 by Sebastian Bergmann and contributors. .. Time: 42 ms, Memory: 4.00 MB OK (2 tests, 2 assertions)
이 예제에서는 약간의 트릭이 사용되었습니다. 이는 Calculator 클래스를 동시에 정의하는 것입니다. 동일한 파일 CalculatorTest.php 및 해당 테스트 클래스 CalculatorTest.
PHPUnit의 기본 테스트 방법 이해
PHPUnit은 다양한 테스트 방법을 제공합니다. 다음은 일부 기본 방법의 사용 예입니다.
문서에서 PHPUnit에 대한 더 많은 테스트 방법을 찾을 수 있습니다.
PHPUnit을 사용한 코드 커버리지 테스트
우리는 단위 테스트를 위해 PHPUnit을 사용하는 방법을 살펴보았습니다. 이제 코드 커버리지 테스트를 위해 PHPUnit을 사용하는 방법을 이해하겠습니다.
코드 커버리지를 달성하려면 PHPUnit을 실행할 때 --coverage-html 옵션을 추가해야 합니다. HTML 코드 적용 범위 보고서가 생성됩니다. 다음 명령을 실행하세요.
./vendor/bin/phpunit --coverage-html reports tests
이 명령은 프로젝트의 테스트 디렉터리에 있는 모든 테스트 사례를 실행하고 실행 후 보고서 디렉터리에 코드 적용 범위 보고서를 생성합니다.
이후 브라우저에서 HTML 보고서를 열어 소스 코드 범위를 확인할 수 있습니다.
요약
이 글에서는 단위 테스트와 코드 커버리지를 위해 PHPUnit을 사용하는 방법을 소개했습니다. 단위 테스트 및 코드 적용 범위를 통해 프로젝트 품질과 안정성을 향상하고 확장 및 리팩토링 비용을 줄일 수 있습니다.
PHP 코드를 작성할 때 좋은 단위 테스트를 작성하는 것을 잊지 마세요. 좋은 단위 테스트는 코드 정확성을 확인하고 회귀 오류를 방지하며 코드 견고성을 보장하는 데 사용됩니다. 좋은 테스트 사례를 작성하면 문제를 조기에 파악하고 문제가 발생하기 전에 수정할 수 있습니다.
위 내용은 PHP 및 PHPUnit을 사용한 단위 테스트 및 코드 적용 범위의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!