Heim >Backend-Entwicklung >PHP-Tutorial >Ausführen eines einzelnen Tests, Überspringens von Tests und anderen Tipps und Tricks

Ausführen eines einzelnen Tests, Überspringens von Tests und anderen Tipps und Tricks

Karen Carpenter
Karen CarpenterOriginal
2025-03-07 00:26:09848Durchsuche

Nuno Maduro hat kürzlich die ->only() -Methode von PestPhp für die gezielte Testausführung eingeführt. Dies löste eine Untersuchung verschiedener Php -Testfilter-, Überspring- und Targeting -Techniken aus, die Phpunit und Schädling abdecken.

Erstens die Methode von Nunos ->only():

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

it('another test', function () {
    // ...
})->only();

Dies wird selektiv markierte Tests ausgeführt. Sowohl Phpunit als auch Schädling bieten breitere Filteroptionen an.

Testfilterung

Schädling bietet Befehlszeilenflags zum Filterung:

pest --dirty
pest --bail
pest --filter 'returns a successful response'
pest --retry
pest --group|--exclude-group
pest --todo

phpunit verwendet ähnliche Befehlszeilenoptionen:

phpunit --filter test_the_application_returns_a_successful_response
phpunit --list-groups
phpunit --group api
phpunit --exclude-group live

Wenden Sie sich an die Pest CLI -Referenz und phpunit --help für umfassende Optionen. Tim MacDonalds "Tipps, um Ihre Phpunit -Tests zu beschleunigen" in Laravel News bietet weitere Erkenntnisse.

Test überspringen

Überspringen von Tests ist für die Verwaltung unvollständiger oder kaputter Tests wertvoll. Pest verwendet ->todo():

it('requires a valid email')->todo();

lauft pest --todo listet diese auf.

phpunit verwendet markTestIncomplete():

public function test_the_application_returns_a_successful_response(): void
{
    $this->markTestIncomplete('it requires a valid email');
    // ...
}

--display-incomplete Details unvollständige Tests. markTestAsSkipped() dient zum Überspringen von Tests basierend auf den Bedingungen (z. B. Plattform).

Targeting von PHP/OS -Versionen

phpunit verwendet Attribute:

#[RequiresPhp('8.0')]
#[RequiresOperatingSystemFamily('Windows')]
public function test_windows_only(): void {
    // ...
}

--display-skipped zeigt übersprungene Tests.

Schädling bietet ähnliche Funktionen:

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

it('has home', function () {
    //
})->skipOnWindows();

IDE -Integration

IDES bieten Verknüpfungen an, um einzelne Tests durchzuführen. Die bessere Phpunit -vs -Code -Erweiterung unterstützt Phpunit und Pest. PHPSTORM bietet umfangreiche Testfunktionen für Tests. Sublime Text-Benutzer können das Sublime-Phpunit-Plugin nutzen.

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

Das obige ist der detaillierte Inhalt vonAusführen eines einzelnen Tests, Überspringens von Tests und anderen Tipps und Tricks. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn