ホームページ >バックエンド開発 >PHPチュートリアル >単一のテストの実行、テスト、その他のヒントやトリックをスキップする

単一のテストの実行、テスト、その他のヒントやトリックをスキップする

Karen Carpenter
Karen Carpenterオリジナル
2025-03-07 00:26:09850ブラウズ

Nuno Maduroは最近、ターゲットを絞ったテスト実行のためにPestphpの->only()メソッドを導入しました。これにより、さまざまなPHPテストフィルタリング、スキップ、およびターゲティングテクニックの調査が促進され、PHPUNITとPESTがカバーされました。

最初に、ヌノの

メソッド:->only()

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

it('another test', function () {
    // ...
})->only();
これは、マークされたテストを選択的に実行します。 phpunitと害虫の両方が、より広範なフィルタリングオプションを提供します

テストフィルタリング

PESTは、フィルタリング用のコマンドラインフラグを提供します:

phpunitは、同様のコマンドラインオプションを使用します:
pest --dirty
pest --bail
pest --filter 'returns a successful response'
pest --retry
pest --group|--exclude-group
pest --todo

包括的なオプションについては、害虫CLIリファレンスと
phpunit --filter test_the_application_returns_a_successful_response
phpunit --list-groups
phpunit --group api
phpunit --exclude-group live
を参照してください。 Laravel NewsでTim Macdonaldの「Phpunitテストをスピードアップするためのヒント」は、さらなる洞察を提供します。

phpunit --helpテストスキップ

テストのスキップは、不完全または壊れたテストの管理に役立ちます。 害虫は

を使用します

->todo()実行中

これらをリストします。
it('requires a valid email')->todo();

phpunitはpest --todo

を使用します

markTestIncomplete()

不完全なテストの詳細。
public function test_the_application_returns_a_successful_response(): void
{
    $this->markTestIncomplete('it requires a valid email');
    // ...
}
は、条件(例えば、プラットフォーム)に基づいてテストをスキップするためです。

--display-incompletemarkTestAsSkipped()PHP/OSバージョンのターゲティング

phpunitは属性を使用します:

スキップされたテストを示しています。
#[RequiresPhp('8.0')]
#[RequiresOperatingSystemFamily('Windows')]
public function test_windows_only(): void {
    // ...
}

PESTは同様の機能を提供します:--display-skipped

IDE Integration it('has home', function () { // })->skipOnPhp('>=8.0.0'); it('has home', function () { // })->skipOnWindows();IDESは、個々のテストを実行するショートカットを提供します。 より優れたphpunit vsコード拡張機能は、phpunitとpestをサポートします。 PHPSTORMは、広範なテストランニング機能を提供します。 崇高なテキストユーザーは、Sublime-Phpunitプラグインを活用できます

以上が単一のテストの実行、テスト、その他のヒントやトリックをスキップするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。