0Pricing
Zig Academy · レッスン

testブロックを書く

テストをコードのすぐ隣に置きます。

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

テストをコード内に置く

Zigでは、別のテストファイルを用意する必要はありません。testブロックを、検査対象のコードのすぐ隣、同じソースファイル内に置けます。

testキーワード

testキーワード、引用符で囲んだ名前、ブロックを使ってテストを開始します。コンパイラーがこれらをすべて自動的に収集します。

test "adds two numbers" {
    // checks go here
}

テストに分かりやすい名前を付ける

testの後に続く文字列がテストの名前になります。"parses empty input"のように分かりやすい名前を付けると、レポートに表示され、何が失敗したのかが分かります。

test "parses empty input" {}

アサーションのためにstdをインポートする

ほとんどのテストではヘルパーが必要になるため、先頭で@import呼び出しを使って標準ライブラリを取り込み、その中でstd.testingを使用します。

const std = @import("std");

初めての実用的なテスト

ブロック内で何かを計算し、その結果を確認します。ここでは、ブール条件がtrueの場合にのみexpectが成功します。

test "two plus two" {
    try std.testing.expect(2 + 2 == 4);
}

テストは失敗することがある

アサーションヘルパーは、チェックがfalseの場合にエラーを返します。そのため、ヘルパーの前にtryを記述し、失敗した時点でテストを終了させます。

try std.testing.expect(1 == 2);

作成した関数をテストする

テストでは通常、自分で作成した関数を呼び出し、その結果を確認します。関数とtestは同じファイルに置くことができます。

fn add(a: i32, b: i32) i32 {
    return a + b;
}

結果を確認する

ここではテストからその関数を実行し、1回のexpect呼び出しで、出力が期待どおりであることを確認します。

test "add works" {
    try std.testing.expect(add(2, 3) == 5);
}

複数のテストを1つのファイルにまとめる

testブロックはいくつでも続けて記述できます。それぞれが独立して実行されるため、1つの失敗が他のテストを妨げることはありません。

テストはコンパイルされるコード

testブロックは通常のZigコードであり、完全に型チェックされます。コンパイルできない場合、何も実行される前にテストの実行が停止します。

インラインテストが役立つ理由

コードのすぐそばにチェックを置くと、テストもコードとともに更新できます。関数を変更したときは、そのtestもすぐそばにあるため、同時に更新できます。

クイックチェック

Zigのソースファイルでユニットテストを宣言したいとします。正しい形はどれでしょうか。

まとめ

名前付きでインラインに記述し、完全にコンパイルされ、tryでアサーションを行うtestブロックについて学びました。テストは、検証対象のコードのすぐそばに置きます。✅

よくある質問

「testブロックを書く」レッスンは無料ですか?

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

「testブロックを書く」で何を学びますか?

テストをコードのすぐ隣に置きます。 ブラウザで直接実行するハンズオンコードでZig Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

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

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

「testブロックを書く」レッスンにはどのくらい時間がかかりますか?

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

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

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

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

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