현재 위치: > 최신 기사 목록> PHP에서 array_diff_assoc () 함수의 정확성을 확인하기 위해 테스트 케이스를 작성하는 방법은 무엇입니까?

PHP에서 array_diff_assoc () 함수의 정확성을 확인하기 위해 테스트 케이스를 작성하는 방법은 무엇입니까?

M66 2025-06-06

PHP의 array_diff_assoc () 함수는 둘 이상의 배열의 차이를 계산하고 첫 번째 배열에 존재하지만 다른 배열에 있지 않은 요소를 반환하는 데 사용됩니다. 배열의 값을 비교할뿐만 아니라 배열의 키를 비교합니다. array_diff_assoc () 함수의 정확성을 확인하는 방법을 이해하는 것은 PHP 프로그램이 올바르게 실행되도록하는 데 중요한 부분입니다.

array_diff_assoc () 함수의 기본 사용

테스트 사례를 작성하기 전에 먼저 Array_Diff_Assoc () 함수의 기본 사용법을 이해하십시오.

 <?php
$array1 = array("a" => "green", "b" => "blue", "c" => "red");
$array2 = array("a" => "green", "b" => "yellow", "d" => "purple");

$result = array_diff_assoc($array1, $array2);
print_r($result);
?>

이 예에서 $ result는 $ array1 에 존재하지만 $ array2 에 있지 않은 요소를 보여주는 배열을 포함하여 주요 이름과 값의 차이를 고려합니다. 출력은 다음과 같습니다.

 Array
(
    [b] => blue
    [c] => red
)

테스트 케이스 설계

array_diff_assoc () 의 정확성을 확인하려면 모든 경우에 올바르게 작동하는지 확인하기 위해 일부 테스트 사례를 설계해야합니다. 일반적인 테스트 상황은 다음과 같습니다.

1. 기본 기능 테스트

함수가 올바른 결과를 반환 할 수 있도록 두 배열의 차이를 테스트 할 수 있습니다.

 <?php
// 테스트 사례 1: 기본 기능 테스트
$array1 = array("a" => "green", "b" => "blue", "c" => "red");
$array2 = array("a" => "green", "b" => "yellow", "d" => "purple");

$result = array_diff_assoc($array1, $array2);
assert($result === array("b" => "blue", "c" => "red"));
?>

2. 동일한 배열을 테스트하십시오

두 배열이 정확히 동일하면 Array_Diff_Assoc ()는 빈 배열을 반환해야합니다.

 <?php
// 테스트 사례 2: 같은 배열
$array1 = array("a" => "green", "b" => "blue");
$array2 = array("a" => "green", "b" => "blue");

$result = array_diff_assoc($array1, $array2);
assert($result === array());
?>

3. 다른 키와 값의 테스트 어레이

테스트하는 동안 배열의 키나 값을 다르게 설정하여 Array_Diff_Assoc ()가 값을 비교할뿐만 아니라 키를 비교할 수 있는지 확인할 수 있습니다.

 <?php
// 테스트 사례 3: 다른 키 값
$array1 = array("a" => "green", "b" => "blue", "c" => "red");
$array2 = array("a" => "green", "b" => "blue", "c" => "yellow");

$result = array_diff_assoc($array1, $array2);
assert($result === array("c" => "red"));
?>

4. 다수 그룹 비교를 테스트하십시오

Array_Diff_Assoc ()는 여러 배열을 매개 변수로 허용 할 수 있으므로 여러 배열의 차이점을 테스트해야합니다.

 <?php
// 테스트 사례 4: 대부분의 배열 비교
$array1 = array("a" => "green", "b" => "blue", "c" => "red");
$array2 = array("a" => "green", "b" => "yellow");
$array3 = array("c" => "red");

$result = array_diff_assoc($array1, $array2, $array3);
assert($result === array("b" => "blue"));
?>

5. 빈 배열을 테스트하십시오

빈 배열의 경우 Array_Diff_Assoc ()는 비교할 다른 배열이 없기 때문에 원래 배열로 돌아와야합니다.

 <?php
// 테스트 사례 5: 빈 배열 테스트
$array1 = array();
$array2 = array("a" => "green", "b" => "blue");

$result = array_diff_assoc($array1, $array2);
assert($result === array());
?>

6. 데이터 유형이 다른 테스트 어레이

또한 기능이 다양한 유형의 데이터 (예 : 정수, 문자열, 부울 등)를 처리 할 수 ​​있도록 다양한 데이터 유형의 배열을 테스트해야합니다.

 <?php
// 테스트 사례 6: 다른 데이터 유형
$array1 = array("a" => 1, "b" => "blue", "c" => true);
$array2 = array("a" => 1, "b" => "blue", "c" => false);

$result = array_diff_assoc($array1, $array2);
assert($result === array("c" => true));
?>

테스트를 실행하십시오

PHP의 단위 테스트 프레임 워크 인 PHPUNIT는 이러한 테스트 사례의 실행을 자동화하는 데 사용될 수 있습니다. 간단한 phpunit 테스트 예는 다음과 같습니다.

 <?php
use PHPUnit\Framework\TestCase;

class ArrayDiffAssocTest extends TestCase
{
    public function testArrayDiffAssoc()
    {
        $array1 = array("a" => "green", "b" => "blue", "c" => "red");
        $array2 = array("a" => "green", "b" => "yellow", "d" => "purple");
        $result = array_diff_assoc($array1, $array2);
        $this->assertEquals(array("b" => "blue", "c" => "red"), $result);
    }
}
?>

요약

위의 테스트 사례를 통해 여러 다른 시나리오에서 array_diff_assoc () 함수의 정확성을 확인했습니다. 일반적인 경계 조건을 다루는 포괄적 인 테스트 사례를 작성하고 다른 데이터 유형이 코드 안정성을 보장하는 데 중요합니다. PHPUNIT 또는 기타 테스트 도구를 사용하면 이러한 테스트를 자동화하고 실제 응용 프로그램에서 기능이 올바르게 작동하는지 확인할 수 있습니다.