PHPUnit 설정 및 첫 테스트
Composer로 PHPUnit을 설치하고 첫 테스트 클래스를 작성합니다.
PHPUnit 설정 및 첫 테스트은(는) CoddyKit의 무료 PHP Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 PHP Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. PHP Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
PHPUnit이란 무엇입니까
PHPUnit은 PHP의 표준 단위 테스트 프레임워크입니다. 코드를 개별 단위로 분리하여 검증하는 자동화된 테스트를 작성할 수 있습니다.
PHPUnit 설치
Composer를 통해 개발 의존성으로 설치합니다.
$ composer require --dev phpunit/phpunit "^11.0"phpunit.xml 구성
테스트 모음을 구성하려면 phpunit.xml 파일을 만듭니다.
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
bootstrap="vendor/autoload.php">
<testsuites>
<testsuite name="Unit">
<directory>tests/</directory>
</testsuite>
</testsuites>
</phpunit>테스트 클래스 작성
PHPUnit\Framework\TestCase를 상속합니다. test로 시작하는 각 공개 메서드가 테스트입니다.
<?php
use PHPUnit\Framework\TestCase;
class CalculatorTest extends TestCase
{
public function test_addition(): void
{
$calc = new Calculator();
$this->assertEquals(5, $calc->add(2, 3));
}
}테스트 대상 클래스
테스트할 Calculator 클래스입니다.
<?php
class Calculator
{
public function add(int $a, int $b): int
{
return $a + $b;
}
}테스트 실행
프로젝트 루트에서 PHPUnit을 실행합니다.
$ vendor/bin/phpunit
...
OK (1 test, 1 assertion)테스트 이름 지정 규칙
두 가지 방식이 있습니다. test_method_name()처럼 test 접두사와 snake_case를 사용하거나, 접두사 없이 @test 주석을 사용합니다.
<?php
/** @test */
public function addition_returns_correct_sum(): void
{
$this->assertEquals(5, (new Calculator())->add(2, 3));
}디렉터리 구조
일반적인 구조에서는 tests가 src 구조를 그대로 반영합니다.
src/Calculator.php → Calculator tests/CalculatorTest.php → CalculatorTest
setUp() 및 tearDown()
각 테스트 메서드 전후에 코드를 실행합니다. setUp()을 사용하여 테스트 대상 객체를 생성합니다.
<?php
protected function setUp(): void
{
$this->calc = new Calculator();
}
public function test_add(): void
{
$this->assertEquals(7, $this->calc->add(3, 4));
}setUpBeforeClass() 및 tearDownAfterClass()
클래스의 모든 테스트 전후에 코드를 한 번 실행합니다. 데이터베이스 연결처럼 설정 비용이 큰 작업에 유용합니다.
코드 커버리지
커버리지 보고서를 생성합니다(Xdebug 또는 PCOV 필요).
$ vendor/bin/phpunit --coverage-html coverage/요약
Composer 개발 의존성으로 PHPUnit을 설치합니다. TestCase 하위 클래스에 test_*() 메서드를 작성합니다. vendor/bin/phpunit으로 실행합니다. 공유 객체 생성에는 setUp()을 사용합니다.
빠른 확인
PHPUnit 테스트 클래스가 상속해야 하는 기본 클래스는 무엇입니까?
자주 묻는 질문
“PHPUnit 설정 및 첫 테스트” 강의는 무료인가요?
네 — “PHPUnit 설정 및 첫 테스트” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 PHP Academy 강의 전체를 잠금 해제할 수 있습니다. PHP Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“PHPUnit 설정 및 첫 테스트”에서 뭘 배우나요?
Composer로 PHPUnit을 설치하고 첫 테스트 클래스를 작성합니다. 브라우저에서 직접 실행하는 실습 코드로 PHP Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
PHP Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 PHP Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.
“PHPUnit 설정 및 첫 테스트” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 PHP Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 PHP Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- PHPUnit 설정 및 첫 테스트
- 검증문 및 테스트 메서드
- 매개변수화된 테스트를 위한 데이터 제공자
- PHPUnit으로 의존성 모의 객체 만들기