현재 위치: > 최신 기사 목록> Array_Column을 사용하여 논리에 대한 단위 테스트를 작성하는 방법

Array_Column을 사용하여 논리에 대한 단위 테스트를 작성하는 방법

M66 2025-05-12

PHP에서 Array_Column은 2 차원 배열에서 지정된 열에서 데이터를 추출하는 매우 유용한 기능입니다. 개발할 때, 특히 복잡한 배열 데이터를 처리 할 때 Array_Column을 사용하여 배열 작업을 단순화 할 수 있습니다. 코드의 신뢰성을 보장하려면 일반적으로 Array_Column을 사용하여 논리에 대한 단위 테스트를 작성해야합니다.

이 기사는 Array_Column 함수를 사용하여 코드에 대한 효과적인 단위 테스트를 작성하는 방법을 설명하고 실제 예제를 제공합니다.

1. array_column 함수를 이해하십시오

Array_Column 함수의 주요 기능은 다차원 배열에서 지정된 열의 모든 값을 추출하고 열의 모든 값을 포함하는 1 차원 배열을 반환하는 것입니다.

문법:

 array_column(array $input, mixed $column_key, mixed $index_key = null): array
  • $ 입력 : 입력 2 차원 배열.

  • $ column_key : 추출 해야하는 열의 키 이름 (인덱스 또는 연관 배열의 키가 될 수 있음).

  • $ index_key : 선택 사항, 반환 된 배열의 인덱스. 배열의 다른 열이 될 수 있습니다.

예를 들어:

 $data = [
    ['id' => 1, 'name' => 'John', 'age' => 28],
    ['id' => 2, 'name' => 'Jane', 'age' => 22],
    ['id' => 3, 'name' => 'Doe', 'age' => 35],
];

$names = array_column($data, 'name');  // ['John', 'Jane', 'Doe']

2. 단위 테스트를 작성하십시오

단위 테스트를 작성할 때 우리의 목표는 Array_Column이 모든 경우에 제대로 작동하는지 확인하는 것입니다. 여기에는 다른 데이터 구조, 빈 배열 및 가능한 예외 처리가 포함됩니다.

phpunit을 사용한 테스트 작성

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

 composer require --dev phpunit/phpunit

그런 다음 테스트 수업 작성을 시작할 수 있습니다. Array_Column을 사용하여 배열의 열을 추출하는 함수 추출물이 있다고 가정합니다.

 function extractColumn(array $data, $columnKey)
{
    return array_column($data, $columnKey);
}

우리는이 기능에 대한 단위 테스트를 작성합니다.

2.1 기본 테스트

 use PHPUnit\Framework\TestCase;

class ArrayColumnTest extends TestCase
{
    public function testExtractColumn()
    {
        $data = [
            ['id' => 1, 'name' => 'John'],
            ['id' => 2, 'name' => 'Jane'],
            ['id' => 3, 'name' => 'Doe'],
        ];

        $result = extractColumn($data, 'name');
        
        // 반환 값이 올바른지 확인하십시오
        $this->assertEquals(['John', 'Jane', 'Doe'], $result);
    }
}

이 테스트에서는 array_column 이 배열에서 이름 열을 올바르게 추출해야합니다.

2.2 빈 배열 테스트

또한 array_column 의 빈 배열 처리를 테스트해야합니다.

 public function testExtractColumnWithEmptyArray()
{
    $data = [];
    
    $result = extractColumn($data, 'name');
    
    // 빈 배열은 빈 배열을 반환해야합니다
    $this->assertEmpty($result);
}

2.3 열이 존재하지 않습니다

때로는 요청한 배열에 열이 없을 수 있습니다. 현재 Array_Column은 빈 배열을 반환합니다.

 public function testExtractColumnWithNonExistentColumn()
{
    $data = [
        ['id' => 1, 'name' => 'John'],
        ['id' => 2, 'name' => 'Jane'],
    ];
    
    $result = extractColumn($data, 'age');
    
    // 'age' 열이 존재하지 않습니다,빈 배열을 반환해야합니다
    $this->assertEmpty($result);
}

2.4 Index_key 매개 변수 사용

또한 반환 된 배열의 인덱스를 지정하는 array_column , index_key 의 세 번째 매개 변수를 테스트 할 수도 있습니다.

 public function testExtractColumnWithIndexKey()
{
    $data = [
        ['id' => 1, 'name' => 'John'],
        ['id' => 2, 'name' => 'Jane'],
        ['id' => 3, 'name' => 'Doe'],
    ];
    
    $result = array_column($data, 'name', 'id');
    
    // 반환 된 배열은 이루어져야합니다 'id' 열쇠로
    $this->assertEquals([1 => 'John', 2 => 'Jane', 3 => 'Doe'], $result);
}

3. 결론

Array_Column을 사용하여 논리에 대한 단위 테스트를 작성할 때는 빈 배열, 존재하지 않는 열 및 가능한 색인 키 처리를 포함한 다양한 상황을 고려해야합니다. 이러한 테스트를 통해 코드의 안정성과 신뢰성을 보장 할 수 있습니다.

PhPunit에서 제공하는 풍부한 기능을 사용하면 Array_Column을 사용하여 코드에 대한 효율적이고 포괄적 인 단위 테스트를 쉽게 작성하여 다른 상황에서 올바르게 작동하는지 확인할 수 있습니다.