현재 위치: > 최신 기사 목록> str_split을 사용한 코드 단위 테스트 작성

str_split을 사용한 코드 단위 테스트 작성

M66 2025-06-02

PHP 개발에서 str_split은 문자열을 배열로 분할하는 데 사용되는 매우 일반적인 문자열 함수이며, 각 배열 요소에는 원래 문자열의 문자가 포함되어 있습니다. 일반적으로 코드에 대한 단위 테스트를 작성하여 기능이 예상대로 작동하는지 확인하려고합니다. 이 기사에서는 PHP에서 STR_SPLIT 기능에 대한 단위 테스트를 작성하고 몇 가지 일반적인 테스트 시나리오를 보여주는 방법을 소개합니다.

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

먼저 str_split 함수의 기본 사용법을 빠르게 검토합시다. str_split 함수는 문자열을 지정된 길이의 하위 문자로 나누고 배열을 반환합니다. 기본 구문은 다음과 같습니다.

 array str_split ( string $string [, int $length = 1 ] )

매개 변수 :

  • $ string : 분할 할 입력 문자열.

  • $ 길이 (선택 사항) : 각 하위 문자열의 길이, 기본값은 1입니다.

예:

 $string = "HelloWorld";
$split = str_split($string, 2);

print_r($split);

산출:

 Array
(
    [0] => He
    [1] => ll
    [2] => oW
    [3] => or
    [4] => ld
)

이 예에서 str_split은 문자열 "helloworld"를 두 문자 그룹의 배열로 나눕니다.

2. phpunit을 설치하십시오

단위 테스트를 작성하려면 먼저 PHP의 표준 장치 테스트 프레임 워크 인 PHPUNIT를 설치해야합니다. 작곡가를 통해 PhPunit을 설치할 수 있습니다.

 composer require --dev phpunit/phpunit

설치가 완료되면 명령 줄을 통해 PHPUnit을 실행하여 장치 테스트를 수행 할 수 있습니다.

3. 테스트 클래스를 작성하십시오

다음으로 STR_SPLIT 기능의 동작을 테스트하기 위해 PHPUNIT 테스트 클래스를 작성합니다. 단순화를 위해 기본 테스트 클래스를 만들고 몇 가지 일반적인 테스트 시나리오에 대한 테스트 방법을 작성합니다.

먼저 테스트 파일 작성 strsplittest.php :

 <?php
use PHPUnit\Framework\TestCase;

class StrSplitTest extends TestCase
{
    // 시험 str_split 기본 기능
    public function testBasicFunctionality()
    {
        $result = str_split("HelloWorld", 2);
        $expected = ['He', 'll', 'oW', 'or', 'ld'];
        $this->assertEquals($expected, $result);
    }

    // 시험传递空字符串时的返回值
    public function testEmptyString()
    {
        $result = str_split("", 2);
        $this->assertEquals([], $result);
    }

    // 시험传递单字符字符串时的返回值
    public function testSingleCharacterString()
    {
        $result = str_split("A");
        $this->assertEquals(['A'], $result);
    }

    // 시험使用默认长度 1 상황
    public function testDefaultLength()
    {
        $result = str_split("Hello");
        $expected = ['H', 'e', 'l', 'l', 'o'];
        $this->assertEquals($expected, $result);
    }

    // 시험长度大于字符串长度时的行为
    public function testLengthGreaterThanString()
    {
        $result = str_split("Hi", 10);
        $this->assertEquals(['Hi'], $result);
    }

    // 시험没有传递长度参数时,기본 동작을 사용하십시오
    public function testWithoutLength()
    {
        $result = str_split("abcdef");
        $this->assertEquals(['a', 'b', 'c', 'd', 'e', 'f'], $result);
    }
}

설명하다:

  1. testbasicfunctionality : 표준 문자열의 분할을 테스트합니다.

  2. 테스트 중단 : 빈 문자열의 경우를 테스트하려면 빈 배열을 반환해야합니다.

  3. TestsingLecharacterString : 문자가 하나만있는 문자열을 테스트합니다.

  4. TestDefaultLength : 기본 길이로 문자열을 분할할지 테스트 길이가 제공되지 않으면 테스트합니다.

  5. TestLengthgreaterThanstring : 스플릿 길이가 문자열 길이보다 큰 경우 전체 문자열 만 반환되는지 테스트합니다.

  6. TestWithOutLength : 기본 길이 1에 따라 분할 여부를 테스트합니다. 길이가 전달되지 않을 때.

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

위의 테스트 클래스를 완료 한 후 PHPUnit을 사용하여 단위 테스트를 실행할 수 있습니다. 터미널을 열고 프로젝트 디렉토리를 입력하고 다음 명령을 실행하십시오.

 ./vendor/bin/phpunit StrSplitTest.php

모든 것이 잘 작동하면 모든 테스트가 통과되었음을 나타내는 다음 테스트 출력이 표시됩니다.

 PHPUnit 9.5.10 by Sebastian Bergmann and contributors.

......

Time: 00:00.029, Memory: 6.00 MB

OK (6 tests, 6 assertions)

5. 요약

단위 테스트를 작성하면 모든 경우에 str_split 함수가 제대로 작동하는지 확인할 수 있습니다. 단위 테스트는 잠재적 인 문제를 발견하는 데 도움이 될뿐만 아니라 코드 리팩토링 보장을 제공합니다. 이 기사가 PHP에서 STR_SPLIT 기능에 대한 단위 테스트를 작성하는 방법을 이해하고 개발 중에 코드를 강력하게 유지하는 방법을 이해하는 데 도움이되기를 바랍니다.