Skip to content

APIモックを使ったテストをClaudeと設計する

APIモックを使ったテストは、外部サービスへの依存を排除してテストを安定させる強力な手法です。しかし「どのモックライブラリを選ぶか」「どう設計するか」で迷うことも多いでしょう。そんな場面でClaude Codeを活用すると、設計から実装まで一気に進められます。

まずClaudeにモック戦略を相談する

Section titled “まずClaudeにモック戦略を相談する”

プロジェクトの状況を伝えると、最適なライブラリを提案してもらえます。たとえば次のように入力してみましょう。

現在ReactとNext.jsでフロントエンドを開発しています。
APIのテストにMSWを導入したいのですが、
セットアップ手順とhandlerの書き方を教えてください。

するとClaudeはMSWのインストールコマンドからhandlers.tsの雛形まで、まとめて出力してくれます。ブラウザ環境とNode.js環境(Jestなど)で設定ファイルが異なる点も自動的に考慮してくれるので、見落としが防げます。

API: Application Programming Interface の略。外部サービスとプログラム間でデータをやりとりするための接続口。モック: テスト時に本物の代わりに使う偽のオブジェクトや関数。外部APIや DBへの実際の通信を避けるために使う。

実際のhandlerコードをClaudeに生成させてみましょう。「ユーザー情報取得APIのモックが欲しい」と伝えるだけで、以下のような実装が返ってきます。

src/mocks/handlers.ts
import { http, HttpResponse } from 'msw'
export const handlers = [
http.get('/api/users/:id', ({ params }) => {
return HttpResponse.json({
id: params.id,
name: 'テストユーザー',
email: 'test@example.com',
})
}),
]

生成されたコードをベースに「エラーケースも追加して」「ステータス404を返すパターンも欲しい」と追加指示を出すと、テストケースを網羅的に広げていけます。

axiosモックやnockへの切り替えもすぐ依頼できる

Section titled “axiosモックやnockへの切り替えもすぐ依頼できる”

バックエンドのNode.jsコードや既存プロジェクトではnockやaxios-mock-adapterが適している場合もあります。Claudeに「MSWではなくnockで書き直して」と一言伝えるだけで変換してくれます。

// nockを使ったテスト例
import nock from 'nock'
nock('https://api.example.com')
.get('/users/1')
.reply(200, { id: '1', name: 'テストユーザー' })

モックの設計はテストの品質に直結します。Claudeをペアプログラマーとして活用し、迷いなく実装を進めていきましょう。