Maison > développement back-end > tutoriel php > Exécuter un seul test, sauter des tests et autres conseils et astuces

Exécuter un seul test, sauter des tests et autres conseils et astuces

Karen Carpenter
Libérer: 2025-03-07 00:26:09
original
844 Les gens l'ont consulté

Nuno Maduro a récemment introduit la méthode ->only() de Pestphp pour l'exécution des tests ciblés. Cela a déclenché une exploration de diverses techniques de filtrage, de saut et de ciblage des tests PHP, couvrant le phpunit et le ravageur.

Tout d'abord, Nuno's ->only() Méthode:

it('returns a successful response', function () {
    $response = $this->get('/');
    $response->assertStatus(200);
})->only();

it('another test', function () {
    // ...
})->only();
Copier après la connexion

Cela exécute sélectivement des tests marqués. Le phpunit et le ravageur offrent des options de filtrage plus larges.

Filtrage de test

PEST fournit des indicateurs de ligne de commande pour le filtrage:

pest --dirty
pest --bail
pest --filter 'returns a successful response'
pest --retry
pest --group|--exclude-group
pest --todo
Copier après la connexion

PHPUnit utilise des options de ligne de commande similaires:

phpunit --filter test_the_application_returns_a_successful_response
phpunit --list-groups
phpunit --group api
phpunit --exclude-group live
Copier après la connexion

Consultez la référence CLI Pest et phpunit --help pour des options complètes. Les "conseils de Tim Macdonald pour accélérer vos tests de phpunit" sur Laravel News offre d'autres informations.

Test Sauter

Les tests de saute sont précieux pour gérer des tests incomplets ou cassés. Pest utilise ->todo():

it('requires a valid email')->todo();
Copier après la connexion

Running pest --todo les répertorie.

phpunit utilise markTestIncomplete():

public function test_the_application_returns_a_successful_response(): void
{
    $this->markTestIncomplete('it requires a valid email');
    // ...
}
Copier après la connexion

--display-incomplete Détails des tests incomplets. markTestAsSkipped() est pour sauter des tests en fonction des conditions (par exemple, plate-forme).

Ciblage des versions PHP / OS

phpunit utilise des attributs:

#[RequiresPhp('8.0')]
#[RequiresOperatingSystemFamily('Windows')]
public function test_windows_only(): void {
    // ...
}
Copier après la connexion

--display-skipped Affiche des tests sautés.

Pest offre des fonctionnalités similaires:

it('has home', function () {
    //
})->skipOnPhp('>=8.0.0');

it('has home', function () {
    //
})->skipOnWindows();
Copier après la connexion

INDÉGRATION IDE

Les IDE offrent des raccourcis pour exécuter des tests individuels. La meilleure extension PHPUNIT VS Code prend en charge PHPUNIT et PEST. PHPSTORM offre des capacités d'exécution de test approfondies. Les utilisateurs de texte sublime peuvent tirer parti du plugin sublime-phpunit.

Running a Single Test, Skipping Tests, and Other Tips and Tricks Running a Single Test, Skipping Tests, and Other Tips and Tricks Running a Single Test, Skipping Tests, and Other Tips and Tricks Running a Single Test, Skipping Tests, and Other Tips and Tricks

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal