GGPT Master GuideAIを、日々の作業に。

Codexでテストを作る

公開 2026-09-12 更新 2026-09-12

Codexでテストを作る

関連テーマ:変更を調べ、試して確かめる

Codexが「修正できました」と答えても、結果を自分で判断できないと不安が残ります。テストは、期待する結果と実際の結果を繰り返し比べるための仕組みです。

この記事では、Node.jsで動く小さな計算を例に、Codexへテストを依頼する方法と、成功・失敗の読み方を紹介します。既存プロジェクトにテスト方法がある場合は、先にその方法を確認します。

正解を先に決める

例では「一個300円の品物を二個なら600円」と考えます。入力は単価と個数、出力は合計です。送料、税率、値引き、小数の金額は今回の範囲に含めません。単価と個数は0以上の整数という前提にします。

単価 個数 期待する合計 確かめること
300 2 600 通常の計算
300 0 0 個数が0のとき
0 2 0 単価が0のとき

今のコードが返す値を、そのまま正解にしてはいけません。利用者が必要とする結果を基準にします。

各段階で確認してから、次の操作へ進みます。

図解Codexでテストを作る:進める順番
  1. 1期待値を決める利用者が必要とする結果から考える
  2. 2テストを書く実際の処理へ入力し結果を比較
  3. 3成功と失敗を確認正しい実装と意図的な誤りで試す
  4. 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によるモデル実行の検証ではありません。

このテーマを続けて読む

不具合修正、テスト、コード整理、ブランチで変更の結果を確認します。

変更を調べ、試して確かめるの記事をまとめて見る