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.
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!