Le guide de test unitaire de pagination de tableau PHP comprend : tester les cas extrêmes (tableau vide, numéro de page invalide) ; tester si les résultats de pagination sont corrects (première page, page du milieu, dernière page) tester si le calcul du numéro de page total est correct (le) ; le nombre d'éléments est égal à chaque page (le nombre d'éléments, le nombre d'éléments est supérieur au nombre d'éléments par page).
Guide de tests unitaires de pagination de tableaux PHP
Avant-propos
La pagination de tableaux est une opération courante qui est souvent rencontrée dans le développement. Afin de garantir l'exactitude de la fonctionnalité de pagination, il est très important d'effectuer des tests unitaires. Cet article vous guidera sur la façon d'écrire des tests unitaires pour la pagination des tableaux PHP, y compris des exemples pratiques.
Cas pratique
Supposons que nous ayons un tableau$items
,需要将其分页,每页显示 10 个元素。分页函数 paginate()
comme suit :
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); }
Test unitaire
$this->assertEquals([], paginate([]));
$this->assertEquals([], paginate([], -1)); $this->assertEquals([], paginate([], 11, 10));
$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));
$items = range(1, 10); $this->assertEquals(1, paginate($items, 1, 10));
$items = range(1, 100); $this->assertEquals(10, paginate($items, 1, 10));
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!