현재 위치: > 최신 기사 목록> array_fill_keys를 주장하는 방법은 단위 테스트에서 결과를 얻습니다

array_fill_keys를 주장하는 방법은 단위 테스트에서 결과를 얻습니다

M66 2025-06-06

Array_Fill_Keys 기능의 반환 결과가 단위 테스트에서 올바른지 여부를 주장하는 방법은 무엇입니까?

PHP에서 array_fill_keys는 지정된 배열에서 키가 오는 배열을 생성하는 매우 실용적인 기능이며 각 키의 값이 동일한 값으로 설정됩니다. 이 기능의 일반적인 사용법은 키 값 쌍 데이터를 처리 할 때 키가 배열에 존재하고 값을 균일하게 할당하는지 확인하는 것입니다. 단위 테스트를 수행 할 때는 때때로 함수가 올바르게 반환되는지 확인해야합니다. 그렇다면 PHP 단위 테스트에서 array_fill_keys 의 반환 결과가 정확하다고 어떻게 주장합니까?

1. array_fill_keys 함수 소개

array_fill_keys 함수의 기본 사용은 다음과 같습니다.

 array array_fill_keys ( array $keys , mixed $value )
  • $ 키 : 각 요소가 새 배열의 키로 사용되는 배열.

  • $ 값 : 각 키에 해당하는 값.

예를 들어:

 $keys = ['a', 'b', 'c'];
$value = 1;
$result = array_fill_keys($keys, $value);
print_r($result);

출력 결과 :

 Array
(
    [a] => 1
    [b] => 1
    [c] => 1
)

2. 단위 테스트에 PhPunit을 사용하십시오

array_fill_keys 함수의 정확성을 테스트하기 위해 단위 테스트에 phPUnit을 사용할 수 있습니다. 먼저 PHPUnit이 설치되어 있는지 확인하고 올바른 디렉토리에서 테스트 클래스를 만들었습니다.

1 단계 : 테스트 클래스를 만듭니다

Array_Fill_Keys 의 기능을 테스트하기 위해 ArrayHelperStest 클래스를 작성했다고 가정 해 봅시다. 먼저 간단한 테스트 케이스를 작성하여 함수가 예상대로 올바른 결과를 반환하는지 확인할 수 있습니다.

 use PHPUnit\Framework\TestCase;

class ArrayHelperTest extends TestCase
{
    public function testArrayFillKeys()
    {
        // 테스트 데이터
        $keys = ['a', 'b', 'c'];
        $value = 1;

        // 부르다 array_fill_keys
        $result = array_fill_keys($keys, $value);

        // 반환 된 배열이 예상되는 배열과 일치하는지 여부를 주장합니다.
        $expected = [
            'a' => 1,
            'b' => 1,
            'c' => 1
        ];

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

위의 코드에서는 먼저 테스트 방법 TestArrayFillkeys를 정의하고 AsserTequals 메소드를 사용하여 Array_Fill_Keys 함수의 반환 결과가 예상되는 배열 $ 와 동일 여부를 주장합니다.

2 단계 : 테스트를 수행하십시오

PhPunit 설치가 완료되면 터미널에서 다음 명령을 실행하여 단위 테스트를 수행 할 수 있습니다.

 php vendor/bin/phpunit ArrayHelperTest

테스트가 통과되면 다음과 유사한 출력이 표시됩니다.

 OK (1 test, 1 assertion)

3. 다른 가능한 주장

Assertequals 외에도 다른 어설 션 방법을 사용하여 Array_fill_keys 의 결과를 확인할 수도 있습니다.

  • AsserTarrayHaskey : 배열에 특정 키가 포함되어 있는지 확인합니다.

 $this->assertArrayHasKey('a', $result);
$this->assertArrayHasKey('b', $result);
$this->assertArrayHasKey('c', $result);
  • AssertNotempty : 반환 된 배열이 비어 있지 않은지 확인합니다.

 $this->assertNotEmpty($result);
  • AsserTsame : 예상과 정확히 동일한 배열 (유형 포함)의 값을 비교 해야하는 경우 AsserTsame을 사용할 수 있습니다.

 $this->assertSame([1, 1, 1], array_values($result));

4. URL 처리 테스트 (URL이있는 경우)

URL과 관련된 일부 상황을 테스트하고 모든 URL 도메인을 M66.NET 로 교체해야한다고 가정하면 일반 표현식 또는 간단한 문자열 교체로이를 수행 할 수 있습니다.

 function replaceDomain($url, $newDomain)
{
    $parsedUrl = parse_url($url);
    $parsedUrl['host'] = $newDomain;
    return http_build_url($parsedUrl);
}

$newUrl = replaceDomain('http://example.com/path', 'm66.net');
echo $newUrl; // http://m66.net/path