PHP 7의 출시로 개발자들은 많은 새로운 기능과 개선 사항을 접하게 되었습니다. 그중 Expectations 구문은 가장 인기 있는 기능 중 하나입니다. 이는 어설션 작성을 크게 단순화하고 코드를 더 읽기 쉽고 유지 관리하기 쉽게 만들 수 있습니다. 이 기사에서는 Expectations 구문의 기본 사용법을 소개하고 예제를 통해 그 장점을 보여줍니다.
PHP에서 어설션은 코드의 조건을 확인하는 데 사용됩니다. 전통적인 주장은 일반적으로 조건식을 매개변수로 취하고 조건이 충족되지 않을 때 오류를 발생시키는 주장() 함수를 사용합니다. 이런 글쓰기 방식은 길고 직관적이지 않습니다.
Expectations 구문은 Expect() 함수를 통해 어설션 작성을 단순화합니다. Expect()를 사용하여 값이나 표현식이 예상한 것과 같은지 확인할 수 있습니다. 어설션이 실패하면 Expect()는 오류 정보와 어설션 실패 위치가 포함된 예외를 발생시킵니다.
다음에서는 구체적인 예를 사용하여 Expectations 구문을 사용하여 어설션을 개선하는 방법을 보여줍니다.
두 숫자를 더하고 결과를 반환하는 add() 함수가 있다고 가정합니다. Expectations 구문을 사용하여 함수의 반환 값이 예상한 것과 같은지 확인할 수 있습니다.
function add($a, $b) {
return $a + $b;
}
// 사용Expectations구문 주장add()함수의 반환값이 다음과 같은지 여부3
expect(add(1, 2))->toBe(3);이 예에서 Expect() 함수는 add(1, 2)의 반환 값이 3인지 확인합니다. 확인이 실패하면 자세한 AssertionException이 발생합니다.
기대 구문은 배열 어설션에서도 작동합니다. 다음 예제에서는 toBe() 및 toContain()을 사용하여 배열 내용을 확인하는 방법을 보여줍니다.
$data = ['apple', 'banana', 'orange'];
// 배열을 주장하다$data길이는3
expect($data)->toHaveLength(3);
// 배열을 주장하다$data포함'banana'
expect($data)->toContain('banana');배열 길이와 포함된 요소는 toHaveLength() 및 toContain() 함수를 통해 쉽게 확인할 수 있습니다.
내장된 어설션 함수 외에도 프로젝트별 요구 사항을 충족하도록 어설션 함수를 사용자 정의할 수도 있습니다.
function isEven($num) {
return $num % 2 == 0;
}
// 숫자 주장6짝수이다
expect(6)->toBeTrue(isEven);이 예에서는 숫자가 짝수인지 확인하는 isEven() 함수를 정의한 다음 toBeTrue()를 사용하여 숫자 6이 짝수인지 확인합니다.
PHP 7의 Expectations 구문은 더 간결하고 직관적인 주장 방법을 제공합니다. Expect() 함수를 통해 개발자는 읽기 쉽고 유지 관리가 쉬운 코드를 작성할 수 있습니다. 위의 예는 Expectations 구문을 빠르게 이해하고 적용하는 데 도움이 되며 PHP 테스트 코드를 최적화하기 위한 강력한 도구입니다.