PHP 개발에서 str_split은 문자열을 배열로 분할하는 데 사용되는 매우 일반적인 문자열 함수이며, 각 배열 요소에는 원래 문자열의 문자가 포함되어 있습니다. 일반적으로 코드에 대한 단위 테스트를 작성하여 기능이 예상대로 작동하는지 확인하려고합니다. 이 기사에서는 PHP에서 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"를 두 문자 그룹의 배열로 나눕니다.
단위 테스트를 작성하려면 먼저 PHP의 표준 장치 테스트 프레임 워크 인 PHPUNIT를 설치해야합니다. 작곡가를 통해 PhPunit을 설치할 수 있습니다.
composer require --dev phpunit/phpunit
설치가 완료되면 명령 줄을 통해 PHPUnit을 실행하여 장치 테스트를 수행 할 수 있습니다.
다음으로 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);
}
}
testbasicfunctionality : 표준 문자열의 분할을 테스트합니다.
테스트 중단 : 빈 문자열의 경우를 테스트하려면 빈 배열을 반환해야합니다.
TestsingLecharacterString : 문자가 하나만있는 문자열을 테스트합니다.
TestDefaultLength : 기본 길이로 문자열을 분할할지 테스트 길이가 제공되지 않으면 테스트합니다.
TestLengthgreaterThanstring : 스플릿 길이가 문자열 길이보다 큰 경우 전체 문자열 만 반환되는지 테스트합니다.
TestWithOutLength : 기본 길이 1에 따라 분할 여부를 테스트합니다. 길이가 전달되지 않을 때.
위의 테스트 클래스를 완료 한 후 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)
단위 테스트를 작성하면 모든 경우에 str_split 함수가 제대로 작동하는지 확인할 수 있습니다. 단위 테스트는 잠재적 인 문제를 발견하는 데 도움이 될뿐만 아니라 코드 리팩토링 보장을 제공합니다. 이 기사가 PHP에서 STR_SPLIT 기능에 대한 단위 테스트를 작성하는 방법을 이해하고 개발 중에 코드를 강력하게 유지하는 방법을 이해하는 데 도움이되기를 바랍니다.