[手順] テストをスキップする

開発プロセス中に、一時的にテストを無効にする必要がある場合があります。コードをコメントアウトするのではなく、skip() メソッドを使用することをお勧めします。

1it('has home', function () {
2 //
3})->skip();

Pest は、テストを実行するときにスキップされたテストについて通知します。

テストをスキップする理由を指定することもできます。Pest はテストを実行するときにその理由を表示します。

1it('has home', function () {
2 //
3})->skip('temporarily unavailable');

さらに、特定の条件に基づいてテストをスキップしたい場合があります。このような場合は、skip() メソッドの第 1 引数としてブール値を指定できます。このテストは、ブール値が true と評価される場合にのみスキップされます。

1it('has home', function () {
2 //
3})->skip($condition == true, 'temporarily unavailable');

skip() メソッドの第 1 引数にクロージャーを渡すと、テストケースの beforeEach() フックが実行されるまで条件の評価を遅らせることができます。

1it('has home', function () {
2 //
3})->skip(fn () => DB::getDriverName() !== 'mysql', 'db driver not supported');

特定のオペレーティングシステムでテストをスキップするには、skipOnWindows()skipOnMac()、または skipOnLinux() を使用できます。

1it('has home', function () {
2 //
3})->skipOnWindows(); // or skipOnMac() or skipOnLinux() ...

または、onlyOnWindows()onlyOnMac()、または onlyOnLinux() を使用して、1 つを除くすべてのオペレーティングシステムでテストをスキップできます。

1it('has home', function() {
2 //
3})->onlyOnWindows(); // or onlyOnMac() or onlyOnLinux() ...

場合によっては、特定の PHP バージョンでテストをスキップしたい場合があります。その場合は、skipOnPhp() メソッドを使用できます。

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

skipOnPhp() メソッドで有効な演算子は、>>=<、および <= です。

最後に、skip() メソッドを beforeEach() フック内で呼び出すことで、テストファイル全体を簡単にスキップできます。

1beforeEach(function () {
2 //
3})->skip();

コードベースが拡張されると、テストスイートの速度を向上させることを検討することをお勧めします。そのために、テストスイートの最適化に関する包括的なドキュメントを提供しています: テストの最適化