Codexでテストを作る
公開 2026-09-12 更新 2026-09-12

関連テーマ:変更を調べ、試して確かめる
Codexが「修正できました」と答えても、結果を自分で判断できないと不安が残ります。テストは、期待する結果と実際の結果を繰り返し比べるための仕組みです。
この記事では、Node.jsで動く小さな計算を例に、Codexへテストを依頼する方法と、成功・失敗の読み方を紹介します。既存プロジェクトにテスト方法がある場合は、先にその方法を確認します。
正解を先に決める
例では「一個300円の品物を二個なら600円」と考えます。入力は単価と個数、出力は合計です。送料、税率、値引き、小数の金額は今回の範囲に含めません。単価と個数は0以上の整数という前提にします。
| 単価 | 個数 | 期待する合計 | 確かめること |
|---|---|---|---|
| 300 | 2 | 600 | 通常の計算 |
| 300 | 0 | 0 | 個数が0のとき |
| 0 | 2 | 0 | 単価が0のとき |
今のコードが返す値を、そのまま正解にしてはいけません。利用者が必要とする結果を基準にします。
各段階で確認してから、次の操作へ進みます。
- 1期待値を決める利用者が必要とする結果から考える
- 2テストを書く実際の処理へ入力し結果を比較
- 3成功と失敗を確認正しい実装と意図的な誤りで試す
- 4範囲を残すテストした条件と未確認を分ける
具体的な依頼と、結果の確かめ方は本文にあります。
テストが通ることだけでなく、間違った実装なら失敗するかも確かめます。対象の処理を呼ばないテストでは、不具合を見逃す場合があります。
Codexに依頼する例
このプロジェクトの合計計算にテストを追加してください。
先に既存のテスト方法と実行コマンドを確認し、同じ方法を使ってください。
仕様は「単価×個数」です。入力は0以上の整数を前提にします。
300と2は600、300と0は0、0と2は0になることを確認してください。
実装の現在値をそのまま期待値にしないでください。
実行したコマンド、成功・失敗、未確認の入力範囲を報告してください。
既存の仕組みがない場合は、新しく何を導入するかを確認します。以下の練習例はNode.jsの組み込み機能を使い、追加パッケージを入れません。
小さなファイルで試す
Node.jsを利用できる環境で、新しい練習フォルダーに二つのファイルを作ります。.mjs はJavaScriptのモジュールとして扱う拡張子です。
total.mjs は計算する本体です。
export function total(price, quantity) {
return price * quantity;
}
同じフォルダーの total.test.mjs に、期待する結果を書きます。
import test from 'node:test';
import assert from 'node:assert/strict';
import { total } from './total.mjs';
test('300円を2個なら600円', () => {
assert.equal(total(300, 2), 600);
});
test('個数が0なら0円', () => {
assert.equal(total(300, 0), 0);
});
test('単価が0なら0円', () => {
assert.equal(total(0, 2), 0);
});
assert.equal は二つの値が一致するかを確かめる処理です。ターミナルで二つのファイルがあるフォルダーを開き、次を実行します。
node --test total.test.mjs
この例ではテスト3件が成功し、失敗が0件なら、表に書いた三つの条件を満たしています。Node.jsの版や出力形式によって表示は異なるため、成功・失敗の件数を見ます。
失敗を検出できるか試す
元のファイルを控えた練習用コピーで、計算の * を一度 + に変えると、足し算になり三つのテストが失敗するはずです。その後、* に戻して再実行します。
このような意図的な誤りは、テストが本体を実際に確認しているかを見るための練習です。本番のコードへ誤りを残したまま公開しません。
テストが通っても残る確認
三件の成功で分かるのは、その三つの条件です。文字列、負数、小数、非常に大きな数への対応は、今回の仕様にもテストにも含めていません。
画面や外部サービスがある場合は、計算のテストだけで表示や接続の成功までは分かりません。代わりの部品を使ったテストと、実際のサービスでの確認も分けます。
テストが失敗したら、期待値を変更して通す前に、仕様・実装・テストのどこが違うのかを調べます。不具合修正の進め方へ戻って再現条件を確認できます。
次の変更にも使う
テストは動作を保ってコードを整理する際にも使えます。変更前に成功することを確認し、変更後も同じ条件を確かめます。
この記事のコードは学習用です。Node.js公式のテスト機能と照合しています。Codexがあなたの環境でテストを実行した結果ではなく、実行結果は利用する環境で確認してください。
掲載コードはWindows・Node.js v24.14.1で実行し、掛け算では3件成功、足し算へ変えたコピーでは3件失敗を確認しました。これは掲載コードの検証で、Codexによるモデル実行の検証ではありません。
このテーマを続けて読む
不具合修正、テスト、コード整理、ブランチで変更の結果を確認します。
変更を調べ、試して確かめるの記事をまとめて見る