PHP에서 Array_Column은 2 차원 배열에서 지정된 열에서 데이터를 추출하는 매우 유용한 기능입니다. 개발할 때, 특히 복잡한 배열 데이터를 처리 할 때 Array_Column을 사용하여 배열 작업을 단순화 할 수 있습니다. 코드의 신뢰성을 보장하려면 일반적으로 Array_Column을 사용하여 논리에 대한 단위 테스트를 작성해야합니다.
이 기사는 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']
단위 테스트를 작성할 때 우리의 목표는 Array_Column이 모든 경우에 제대로 작동하는지 확인하는 것입니다. 여기에는 다른 데이터 구조, 빈 배열 및 가능한 예외 처리가 포함됩니다.
먼저 PHPUnit이 설치되고 구성되어 있는지 확인하십시오. 설치하지 않은 경우 작곡가를 통해 설치할 수 있습니다.
composer require --dev phpunit/phpunit
그런 다음 테스트 수업 작성을 시작할 수 있습니다. Array_Column을 사용하여 배열의 열을 추출하는 함수 추출물이 있다고 가정합니다.
function extractColumn(array $data, $columnKey)
{
return array_column($data, $columnKey);
}
우리는이 기능에 대한 단위 테스트를 작성합니다.
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 이 배열에서 이름 열을 올바르게 추출해야합니다.
또한 array_column 의 빈 배열 처리를 테스트해야합니다.
public function testExtractColumnWithEmptyArray()
{
$data = [];
$result = extractColumn($data, 'name');
// 빈 배열은 빈 배열을 반환해야합니다
$this->assertEmpty($result);
}
때로는 요청한 배열에 열이 없을 수 있습니다. 현재 Array_Column은 빈 배열을 반환합니다.
public function testExtractColumnWithNonExistentColumn()
{
$data = [
['id' => 1, 'name' => 'John'],
['id' => 2, 'name' => 'Jane'],
];
$result = extractColumn($data, 'age');
// 'age' 열이 존재하지 않습니다,빈 배열을 반환해야합니다
$this->assertEmpty($result);
}
또한 반환 된 배열의 인덱스를 지정하는 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);
}
Array_Column을 사용하여 논리에 대한 단위 테스트를 작성할 때는 빈 배열, 존재하지 않는 열 및 가능한 색인 키 처리를 포함한 다양한 상황을 고려해야합니다. 이러한 테스트를 통해 코드의 안정성과 신뢰성을 보장 할 수 있습니다.
PhPunit에서 제공하는 풍부한 기능을 사용하면 Array_Column을 사용하여 코드에 대한 효율적이고 포괄적 인 단위 테스트를 쉽게 작성하여 다른 상황에서 올바르게 작동하는지 확인할 수 있습니다.