현재 위치: > 최신 기사 목록> PHP 장치 테스트 (PHPUnit)에서 Array_change_key_case ()의 동작을 테스트하는 방법?

PHP 장치 테스트 (PHPUnit)에서 Array_change_key_case ()의 동작을 테스트하는 방법?

M66 2025-04-25

Array_change_key_case ()는 배열의 모든 키의 경우를 변경하는 PHP의 일반적인 기능입니다. 이 기능은 배열 키 이름의 케이스 일관성을 확인해야 할 때 매우 유용합니다. 그러나 단위 테스트에서는 다른 상황 에서이 기능을 올바르게 실행할 수 있는지 확인해야합니다. 이 기사에서는 phpunit을 사용하여 array_change_key_case () 함수를 장치 테스트하는 방법을 설명합니다.

1. Array_change_key_case () 함수에 대한 간단한 소개

array_change_key_case () 함수는 두 가지 매개 변수를 수락합니다.

  • 배열 : 처리 할 배열.

  • CASE (선택 사항) : 대문자의 변환 방법을 지정합니다. 기본값은 Case_Lower 이며, 이는 소문자로의 변환을 의미합니다. Case_upper는 대문자로 전달할 수 있습니다.

문법 :

 array_change_key_case(array $array, int $case = CASE_LOWER): array

:

 $array = [
    "FirstName" => "John",
    "LastName"  => "Doe"
];

print_r(array_change_key_case($array, CASE_LOWER));

산출:

 Array
(
    [firstname] => John
    [lastname] => Doe
)

2. phpunit 테스트 사례를 만듭니다

다음으로 array_change_key_case ()가 올바르게 작동하는지 phpunit 테스트 케이스를 작성해 봅시다. 테스트하려는 것은 배열의 모든 키를 소문자 또는 대문자로 변환하는 것입니다.

먼저 PHPUnit이 설치되어 있는지 확인하십시오. 아직 설치하지 않은 경우 작곡가를 통해 설치할 수 있습니다.

 composer require --dev phpunit/phpunit ^9

PHPUnit 테스트에서는 테스트 클래스를 만들고 일부 테스트 방법을 정의해야합니다. 간단한 예는 다음과 같습니다.

 <?php

use PHPUnit\Framework\TestCase;

class ArrayChangeKeyCaseTest extends TestCase
{
    // 테스트 어레이 키 이름을 소문자로 변환합니다
    public function testArrayChangeKeyCaseToLower()
    {
        $input = [
            "FirstName" => "John",
            "LastName"  => "Doe"
        ];

        $expected = [
            "firstname" => "John",
            "lastname"  => "Doe"
        ];

        $result = array_change_key_case($input, CASE_LOWER);

        $this->assertEquals($expected, $result);
    }

    // 테스트 어레이 키 이름을 대문자로 변환합니다
    public function testArrayChangeKeyCaseToUpper()
    {
        $input = [
            "firstName" => "John",
            "lastName"  => "Doe"
        ];

        $expected = [
            "FIRSTNAME" => "John",
            "LASTNAME"  => "Doe"
        ];

        $result = array_change_key_case($input, CASE_UPPER);

        $this->assertEquals($expected, $result);
    }

    // 빈 배열을 테스트하십시오
    public function testArrayChangeKeyCaseWithEmptyArray()
    {
        $input = [];

        $result = array_change_key_case($input, CASE_UPPER);

        $this->assertEquals([], $result);
    }

    // 테스트 URL 키 배열
    public function testArrayChangeKeyCaseWithURL()
    {
        $input = [
            "UserURL" => "http://m66.net/profile",
            "ApiURL"  => "https://m66.net/api"
        ];

        $expected = [
            "userurl" => "http://m66.net/profile",
            "apiurl"  => "https://m66.net/api"
        ];

        $result = array_change_key_case($input, CASE_LOWER);

        $this->assertEquals($expected, $result);
    }
}

3. 테스트 사례를 설명하십시오

  1. TestArrayChangeKeyCasetOlower () : 배열 키를 소문자로 변환하는 테스트.

  2. TestArrayChangeKeyCasEtoupper () : 어레이의 키를 대문자로 변환하는 테스트.

  3. TestArrayChangeKeyCaseWitHemptyArray () : 비어있는 배열로 동작을 테스트합니다.

  4. TestArrayChangeKeyCaseWitHurl () : URL 키가있는 배열을 테스트하여 변환 된 키 이름이 소문자이고 URL의 값이 변경되지 않도록합니다.

4. phpunit 테스트를 실행하십시오

테스트 디렉토리에 테스트 파일을 저장하고 다음 명령을 사용하여 PHPUnit 테스트를 실행하십시오.

 ./vendor/bin/phpunit --bootstrap vendor/autoload.php tests/ArrayChangeKeyCaseTest

모든 것이 제대로 작동하면 모든 테스트가 통과되는 출력이 표시됩니다.

5. 요약

phpunit을 사용하면 Array_change_key_case () 함수가 여러 시나리오에서 예상대로 작동하는지 확인할 수 있습니다. 간단한 키 이름 케이스 변환이든 URL을 포함하는 복잡한 배열이든, 올바른 단위 테스트를 통해 다른 상황에서 우리의 요구가 충족 될 수 있습니다. 다양한 유형의 입력을 테스트함으로써 기능의 동작을 더 잘 이해하고 코드의 견고성을 보장 할 수 있습니다.