要約

このAIユニットテスト生成ツールは、関数名、パラメータ、選択したエッジケースをもとに、Jest、Vitest、pytest、PHPUnit向けの記入可能なテスト雛形を作成します。すべての処理はブラウザ内で完結し、ソースコードが外部に送信されることも、サーバー側でロジックが書かれることもありません。各アサーションには期待値を示す明確なTODOプレースホルダーが付いており、空のテストファイルではなく構造化された雛形から始められます。JavaScriptのユーティリティ関数でも、WordPressプラグインの関数でも同様に使えます。

どんな関数にも対応するユニットテストの雛形を生成

このAIユニットテスト生成ツールは、関数名、パラメータ、選択したエッジケースをもとにJest、Vitest、pytest、PHPUnitのテスト雛形を作成します。空白のページではなく、雛形からテスト作成を始められます。

テスト雛形を作成する

関数名とパラメータを入力し、テストフレームワークを選び、カバーしたいエッジケースにチェックを入れてください。下の雛形は入力に応じてリアルタイムに更新されます。

カバーするエッジケース
生成されたテスト雛形

構造、命名、エッジケースの網羅はここで自動生成されます。各 /* expected value */ プレースホルダーには、関数が実際に返すべき値を記入してください。実装内容はウィジェットには分かりません。

使い方の仕組み

この生成ツールが実際に行うこと

関数を説明する

関数名とパラメータをカンマ区切りで入力します。ソースコードは不要です。ウィジェットはテスト対象の形だけを必要とします。

エッジケースを選ぶ

その関数に該当するエッジケースにチェックを入れます:ゼロ、負の数、空またはnullの値、極端に大きな入力、エラーを投げるべき入力。

記入可能な雛形が手に入る

生成ツールはdescribeとtestブロック(またはpytest・PHPUnit向けのdef関数とTestCaseクラス)を書き出し、各ケースに1つずつアサーションを配置します。期待値を書き込む欄には明確なTODOプレースホルダーが付きます。

関数のシグネチャから記入済みのテストファイルへ

生成ツールが提供するのは雛形です:名前、構造、各エッジケースに対応するアサーション。関数が実際に何を返すべきかを決めるのは、テストランナーとともに、あなた自身の作業です。コードをコピーし、/* expected value */ の部分を書き換えて、いつも通り実行してください。

  • ワンクリックでコードをコピー
  • JavaScript、Python、PHPに対応
  • インストールする依存関係もビルド工程も不要
ワイドモニターに関数コードとテストコードがぼかされて表示された、分割画面のコードエディタを見る開発者

このAIユニットテスト生成ツールについてのよくある質問

このツールは本当にAIモデルを呼び出してテストを書いているのですか?
いいえ。すべてルールベースの生成処理としてブラウザ内で完結します。入力内容からテスト構造、名前、エッジケースの一覧を組み立てます。関数名やパラメータがサーバーに送信されることは一切ないため、待ち時間も情報漏えいの心配もありません。
対応している言語とフレームワークは?
JavaScript向けのJestとVitest、Python向けのpytest、そしてPHP向けのPHPUnitです。PHPUnitは多くのWordPressプラグイン・テーマ開発者がすでにテストスイートに使っているフレームワークです。各フレームワークにはそれぞれ独自の構造があります:JestとVitestはdescribeとtestブロック、pytestはdef関数、PHPUnitはTestCaseクラスです。
生成されたテストはそのまま通りますか?
そのままでは通りませんし、通るべきでもありません。各アサーションには /* expected value */ というプレースホルダーが付いています。ウィジェットは関数が本来何を返すべきかを知り得ないためです。プレースホルダーを実装が返すべき値に置き換えれば、テストは実行可能な状態になります。
これは無料ですか?
はい。登録もアカウントも不要で、生成できるテスト雛形の数に制限もありません。
実際のソースコードを貼り付ける必要がありますか?
いいえ。必要なのは関数名とパラメータ名だけです。生成ツールは妥当なサンプル引数を推測し、実装を一切見ることなく、選択したエッジケースごとにテストを1つずつ書き出します。
WordPressプラグインの関数にも使えますか?
はい、PHP - PHPUnitを選んでください。関数名にちなんだテストクラスを、WordPressのプラグイン・テーマ開発者がすでにPHPUnitスイートを構成する際に使っている慣習に沿って生成します。
チェックリストのエッジケースはどこから来ているのですか?
関数が実際の入力を受け取った際に最もよく起こる失敗パターンをカバーしています:ゼロ、負の数、空の値、nullまたは欠落した引数、異常に大きな数値、そしてエラーを投げるべき入力です。自分の関数に該当するものだけチェックし、それ以外は無視して構いません。

ブロックテーマのテストより、動く部品の方が多くなっていませんか

Pattern ForgeからRTL Concordanceまで、AIを活用したGutenbergワークフローをnoonwpで。本番環境にブロックテーマを届ける実務者のために作られています。