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フィードバックを取得できます。ローカル設定は不要です。