PHpullh
학습 라이브러리/PHP/데이터 제공자

PHP · 테스트

데이터 제공자

같은 테스트 로직을 여러 입력으로 돌리는 데이터 제공자 예제입니다.

테스트중급phpunitdata-providerattribute

핵심 설명

같은 테스트 로직을 여러 입력으로 돌리는 데이터 제공자 예제입니다.

PHP code

<?php
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;

final class PriceFormatterTest extends TestCase {
    #[DataProvider('cases')]
    public function testFormat(int $input, string $expected): void {
        $this->assertSame($expected, number_format($input) . ' KRW');
    }

    public static function cases(): array {
        return [[1000, '1,000 KRW'], [12000, '12,000 KRW']];
    }
}

학습 팁

테스트 예제는 성공 케이스뿐 아니라 실패 케이스와 경계값도 함께 실행해 보는 것이 좋습니다.

주의할 점

테스트가 외부 상태를 공유하면 실행 순서에 따라 통과 여부가 달라질 수 있습니다.

자주 묻는 질문

데이터 제공자란 무엇인가요?

같은 테스트 로직을 여러 입력으로 돌리는 데이터 제공자 예제입니다.

데이터 제공자 학습 시 주의할 점은 무엇인가요?

테스트가 외부 상태를 공유하면 실행 순서에 따라 통과 여부가 달라질 수 있습니다.