PHP 단위 테스트 및 오류 처리 연습

王林
풀어 주다: 2024-05-07 08:15:02
원래의
406명이 탐색했습니다.

단위 테스트를 사용하면 PHPUnit 프레임워크를 통해 코드를 쉽고 빠르게 테스트할 수 있으며, 오류 처리에서는 예외를 사용하여 런타임 오류를 포착하고 처리합니다. 예외 처리는 try...catch 문을 사용하여 예외를 캡처하는 반면, 오류 보고는 error_reporting()을 통해 오류 유형을 구성하고 Trigger_error()를 사용하여 적극적으로 오류를 트리거합니다.

PHP 单元测试与错误处理的实践

PHP의 단위 테스트 및 오류 처리 실습

소개

단위 테스트 및 오류 처리는 소프트웨어 개발의 중요한 측면입니다. PHP는 강력하고 유지 관리 가능한 코드를 작성하는 데 도움이 되는 포괄적인 도구 세트와 모범 사례를 제공합니다. 이 문서에서는 PHP 단위 테스트 및 오류 처리를 효과적으로 사용하는 방법에 대해 설명합니다.

유닛 테스트

PHPUnit 소개

PHPUnit은 PHP용 최고의 유닛 테스트 프레임워크입니다. 코드를 빠르고 쉽게 테스트할 수 있도록 다양한 어설션, 모의 및 스텁을 제공합니다.

실용 사례

간단한 계산기 함수인 다음 코드 조각을 고려하세요.

function calculate($a, $b, $operation) {
    switch ($operation) {
        case 'add':
            return $a + $b;
        case 'subtract':
            return $a - $b;
        default:
            throw new InvalidArgumentException('Invalid operation');
    }
}
로그인 후 복사

PHPUnit을 사용하여 이 함수를 테스트하는 단위 테스트를 다음과 같이 작성할 수 있습니다.

use PHPUnit\Framework\TestCase;

class CalculatorTest extends TestCase {

    public function testAdd() {
        $this->assertEquals(5, calculate(2, 3, 'add'));
    }

    public function testSubtract() {
        $this->assertEquals(1, calculate(3, 2, 'subtract'));
    }

    public function testInvalidOperation() {
        $this->expectException(InvalidArgumentException::class);
        calculate(1, 2, 'multiply');
    }
}
로그인 후 복사

오류 처리

예외 처리

PHP의 예외는 런타임 오류를 처리하는 데 사용되는 특수 객체입니다. 아래와 같이 try...catch 문을 사용하여 예외를 포착하고 처리할 수 있습니다. try...catch 语句捕获和处理异常,如下所示:

try {
    // 代码可能会抛出异常
} catch (Exception $e) {
    // 捕获异常并进行处理
}
로그인 후 복사

错误报告

PHP 错误报告用于在代码中记录错误消息和警告。您可以使用 error_reporting() 函数配置要报告的错误类型,并使用 trigger_error()

$handle = fopen('nonexistent.txt', 'r');
로그인 후 복사

Error Reporting

PHP Error Reporting은 코드에 오류 메시지와 경고를 기록하는 데 사용됩니다. error_reporting() 함수를 사용하여 보고할 오류 유형을 구성하고 trigger_error() 함수를 사용하여 오류를 적극적으로 트리거할 수 있습니다.

실제 사례

🎜🎜존재하지 않는 파일을 열려고 시도하는 다음 코드 조각을 고려하세요. 🎜
set_error_handler(function($errno, $errstr, $errfile, $errline, $errcontext) {
    echo 'Error: ' . $errstr . "\n";
});

try {
    $handle = fopen('nonexistent.txt', 'r');
} catch (Exception $e) {
    // 该异常在错误处理程序中被捕获,因此不会执行
}
로그인 후 복사
🎜오류 처리를 사용하여 다음과 같이 이 오류를 포착하고 처리할 수 있습니다. 🎜rrreee

위 내용은 PHP 단위 테스트 및 오류 처리 연습의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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