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
Freigeben: 2025-03-07 00:26:09
Original
844 Leute haben es durchsucht

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();
Nach dem Login kopieren

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
Nach dem Login kopieren

phpunit verwendet ähnliche Befehlszeilenoptionen:

phpunit --filter test_the_application_returns_a_successful_response
phpunit --list-groups
phpunit --group api
phpunit --exclude-group live
Nach dem Login kopieren

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();
Nach dem Login kopieren

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');
    // ...
}
Nach dem Login kopieren

--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 {
    // ...
}
Nach dem Login kopieren

--display-skipped zeigt übersprungene Tests.

Schädling bietet ähnliche Funktionen:

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

it('has home', function () {
    //
})->skipOnWindows();
Nach dem Login kopieren

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!

Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage