ソフトウェアテストブログ

Cursorを使ってCodeceptJSのテスト自動化をやってみた

Cursorを使ってCodeceptJSのテスト自動化をやってみた

2025年08月25日 16:44

■はじめに

最近話題のAI搭載IDE「Cursor」。
VS Codeのような操作感に、ChatGPTのようなAIアシスタントを組み込み、コード生成・解説・リファクタリングをすべてエディタ内で完結できるのが特徴です。
今回は、このCursorを使ってCodeceptJSによるE2Eテストの自動化に挑戦してみました。普段から自動化テストを書いている私ですが、AI統合IDEの力を借りることで、どのくらい効率化できるのかを試してみます。


■Cursorとは?


Cursorは、VS Codeベースで作られたAI統合型IDEです。
特徴的なのは、エディタ上にAIチャット機能があり、自然言語で以下のような依頼ができることです。

  • 「この関数をリファクタリングして」

  • 「テストコードを追加して」

  • 「このエラーの原因を教えて」

コード補完機能はもちろん、既存コードの理解や設計段階からAIがアシストしてくれます。
GeminiやChatGPTを別タブで使う場合と違い、ブラウザ切り替えが不要で作業が途切れないのも魅力でした。


■CodeceptJSとは?


CodeceptJSは、シナリオベースでE2Eテストを書けるJavaScriptフレームワークです。
Scenario() ブロックに「人間の操作手順」をそのまま書き込むような感覚で記述でき、PlaywrightやPuppeteerなど複数のエンジンをバックエンドとして利用できます。
例えばログインテストなら、以下のように短く書けます。
 
Scenario('ログイン成功', ({ I }) => {
I.amOnPage('/login');
I.fillField('username', 'testuser');
I.fillField('password', 'password123');
I.click('ログイン');
I.see('ダッシュボード');
});


こうしたシンプルな構文が魅力ですが、逆に応用的な書き方を探すと情報が少ないため、AIのサポートが大きく役立ちます。


■実際にCursorで書いてみた


今回は「ログイン後に宿泊予約画面に遷移するシナリオ」を作ることにしました。
まずCursorのAIチャットにこう依頼します。
「CodeceptJSで、ユーザー名とパスワードを入力してログインし、宿泊予約画面に遷移するE2Eテストを書いて」
するとAIは、Scenario() ブロックでの手順や、I.fillField()、I.click()、I.see() といったメソッドを組み合わせたコードを生成してくれました。


特に便利だったのは:

  • テストの雛形生成が一瞬で終わる

  • コードの意味や必要性をその場で解説してくれる

  • 会話の延長で追加仕様や修正を即反映してくれる


■個人利用で感じた注意点


実際に試してみて、個人開発で使う場合の注意点も見えてきました。


  1. コード提案の精度にムラがある
    正しいけれど古い書き方や動かないサンプルが返ってくることもあります。提案はそのまま使わず、動作確認は必須です。

  2. 指示の出し方が重要
    「ログインテスト作って」よりも、「フォーム入力・ボタンクリック・URL検証まで」と具体的に伝えると精度が上がります。AIとの会話は人間相手と同じく、背景説明が多いほどスムーズです。

  3. 無料プランだと制限あり
    AIへの質問回数や文字数に上限があるため、長時間作業していると途中でAIが使えなくなることも。


■まとめ


今回、Cursorを使ってCodeceptJSの自動化テストを書いてみて、AIがテストコード作成の初動を圧倒的に速くしてくれることを実感しました。
ただし、AIが提案するコードはあくまで参考であり、最終的な検証と調整は人間が行う必要があります。

それでも、

  • 雛形生成の速さ

  • 自然言語での修正依頼

  • 既存コードの解説とリファクタリング

といった点は、従来の開発フローにない強みです。
AIを使った開発に興味がある方、特にテスト自動化に力を入れたい方は、一度Cursorを試してみる価値は十分にあるでしょう。