0Pricing
Zig Academy · レッスン

テストの実行と絞り込み

zig testを使い、実行対象を絞り込みます。

「テストの実行と絞り込み」はCoddyKit上の無料Zig Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはZig Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Zig Academyコースには全4レッスンが含まれています。

テストを実行する1つのコマンド

ファイル内のテストを実行するには、コンパイラーをテストモードで呼び出します。zig testコマンドは、見つかったすべてのテストブロックをコンパイルして実行します。

zig test src/main.zig

ファイルを指定する

zig testにはルートソースファイルを渡します。そのファイルのテストと、@importを通じて到達できるすべてのファイルのテストを取り込みます。

概要を読む

実行後、Zigは合格したテストの数を出力します。"All 7 tests passed"のような行は、すべてのtestブロックがエラーなしで終了したことを意味します。

テストが失敗したとき

失敗すると、Zigはテスト名、失敗したアサーション、スタックトレースを出力します。自分で選んだnameがあることで、内容を簡単に読み取れます。

名前で絞り込む

--test-filterを使うと、必要なテストだけを実行できます。指定したテキストを名前に含むテストだけが実行されます。

zig test src/main.zig --test-filter parse

絞り込みが役立つ理由

1つの機能を修正している間は、その機能のテストだけを再実行できるため、フィードバックが速くなります。--test-filterフラグは、テスト名の部分文字列に一致します。

意図的にテストをスキップする

テストから特別なerror.SkipZigTestを返すと、失敗ではなくスキップとして扱えます。まだ準備ができていないケースに便利です。

if (slow) return error.SkipZigTest;

スキップは別に集計される

概要では、スキップしたテストを合格および失敗したテストとは別に集計します。そのため、skipによってテストスイートの本当の問題が隠れることはありません。

ビルドからテストする

実際のプロジェクトでは、通常はビルドシステムを通じてテストを実行します。設定済みのzig build testステップがテストをコンパイルして実行します。

zig build test

テストにmainは不要

testブロックだけがあり、main関数がないファイルでもzig testで動作します。テストランナーがエントリーポイントを自動的に用意します。

テストを習慣にする

テストの実行は1つのコマンドで済むため、変更するたびに実行できます。高速なフィードバックが、Zigのコードベースの信頼性を保ちます。

クイックチェック

名前にparseという単語を含むテストだけを実行したいとします。どのコマンドを使えばよいでしょうか。

まとめ

zig testでテストを実行し、概要を読み、名前で絞り込み、error.SkipZigTestでスキップする方法を学びました。また、zig build testについても学びました。✅

よくある質問

「テストの実行と絞り込み」レッスンは無料ですか?

はい。「テストの実行と絞り込み」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Zig Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Zig Academyコースには全4レッスンが含まれています。

「テストの実行と絞り込み」で何を学びますか?

zig testを使い、実行対象を絞り込みます。 ブラウザで直接実行するハンズオンコードでZig Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Zig Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのZig Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「テストの実行と絞り込み」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このZig Academyレッスンでコードを書いて実行できますか?

はい。すべてのZig Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. testブロックを書く
  2. std.testingによるアサーション
  3. Testing Allocatorでメモリリークを検出する
  4. テストの実行と絞り込み
← Zig Academyに戻る