> 백엔드 개발 > PHP 튜토리얼 > PHP 배열 페이지 매김에서 단위 테스트를 수행하는 방법은 무엇입니까?

PHP 배열 페이지 매김에서 단위 테스트를 수행하는 방법은 무엇입니까?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2024-05-01 13:18:01
원래의
894명이 탐색했습니다.

PHP 배열 페이징 단위 테스트 가이드에는 다음이 포함됩니다. 페이징 결과가 올바른지 테스트(첫 번째 페이지, 중간 페이지, 마지막 페이지), 총 페이지 수 계산이 올바른지 테스트(빈 배열, 잘못된 페이지 번호) 요소 수는 각 페이지와 같습니다. 요소 수, 요소 수는 페이지당 요소 수보다 큽니다.

PHP 배열 페이지 매김에서 단위 테스트를 수행하는 방법은 무엇입니까?

PHP 배열 페이지 매김 단위 테스트 가이드

머리말

배열 페이지 매기기는 개발 과정에서 자주 접하는 일반적인 작업입니다. 페이징 기능의 정확성을 보장하려면 단위 테스트를 수행하는 것이 매우 중요합니다. 이 문서에서는 실제 예제를 포함하여 PHP 배열 페이징에 대한 단위 테스트를 작성하는 방법을 안내합니다.

실용 사례

다음과 같은 배열$items,需要将其分页,每页显示 10 个元素。分页函数 paginate()이 있다고 가정합니다.

function paginate(array $items, int $page = 1, int $perPage = 10): array
{
    $totalPages = ceil(count($items) / $perPage);
    
    if ($page < 1) {
        $page = 1;
    } elseif ($page > $totalPages) {
        $page = $totalPages;
    }
    
    $offset = ($page - 1) * $perPage;
    
    return array_slice($items, $offset, $perPage);
}
로그인 후 복사

단위 테스트

  1. 특정 사례 테스트
  • 빈 배열: 페이징 기능이 빈 배열은 빈 배열을 반환합니다.
$this->assertEquals([], paginate([]));
로그인 후 복사
  • 잘못된 페이지 번호: 음수 페이지 번호와 전체 페이지 번호 범위 밖의 페이지 번호가 전달될 때 페이징 기능의 동작을 테스트합니다.
$this->assertEquals([], paginate([], -1));
$this->assertEquals([], paginate([], 11, 10));
로그인 후 복사
  1. 페이징 결과가 올바른지 테스트하세요
  • 첫 번째 페이지: 페이징 함수가 배열의 첫 번째 페이지 요소를 반환하는지 확인하세요.
$items = range(1, 100);
$this->assertEquals([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], paginate($items));
로그인 후 복사
  • 중간 페이지: 페이징 기능이 지정된 페이지 번호의 요소를 반환하는지 확인하세요.
$this->assertEquals([51, 52, 53, 54, 55, 56, 57, 58, 59, 60], paginate($items, 6));
로그인 후 복사
  • 마지막 페이지: 페이지 매김 기능이 배열의 마지막 페이지 요소를 반환하는지 확인하세요.
$this->assertEquals([91, 92, 93, 94, 95, 96, 97, 98, 99, 100], paginate($items, 10));
로그인 후 복사
  1. 총 페이지 수 계산이 올바른지 테스트하세요
  • 요소 수가 페이지당 요소 수와 같은 경우: 요소 수가 페이지당 요소 수와 같은 경우 , 총 페이지 수는 1이어야 합니다.
$items = range(1, 10);
$this->assertEquals(1, paginate($items, 1, 10));
로그인 후 복사
  • 요소 수가 페이지당 요소 수보다 큰 경우: 요소 수가 페이지당 요소 수보다 큰 경우 전체 페이지 수는 반올림되어야 합니다.
$items = range(1, 100);
$this->assertEquals(10, paginate($items, 1, 10));
로그인 후 복사

위 내용은 PHP 배열 페이지 매김에서 단위 테스트를 수행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿