IntelliJ プラットフォーム SDK プラグイン開発ガイド

ページを編集 (英語)

プラグインのテスト

IntelliJ プラットフォームコードベースのテストのほとんどはモデルレベルの機能テストです。これは、次のことを意味します。

  • テストは、多数のUIコンポーネントを除き、ほとんどのコンポーネントに実際の実稼働実装を使用するヘッドレス環境で実行されます。
  • テストは通常、その実装を構成する個々の関数ではなく、フィーチャ全体をテストします。
  • このテストでは、SwingのUIはテストされず、基礎となるモデルで直接動作します。
  • ほとんどのテストでは、ソースファイルまたは一連のソースファイルを入力データとして使用して機能を実行し、その結果を期待される結果と比較します。結果は、ソースファイルの別のセット、入力ファイルの特別なマークアップ、またはテストコードに直接指定することができます。

このテストアプローチの最大のメリットは、テストが非常に安定しており、基礎となる実装がどれほどリファクタリングされているか書き換えられていても、一度書かれてもメンテナンスはほとんど必要ないことです。

15年以上の寿命があり、多数の内部リファクタリングを経てきた製品では、この利点が、テストの実行が遅くなり、単体テストを分離するのに比べて障害をデバッグするのが難しくなるという欠点を大きく上回ります。

テスト手法のもう一つの結果は、テストフレームワークが提供していないものです。

  • モックにお勧めのアプローチを提供していません。JMockを使ったコードベースでのテストはいくつかありますが、一般的に、あなたのプラグインクラスが持っている必要があるIntelliJプラットフォームコンポーネントとのすべての相互作用をモックするのは難しいと思うため、実際のコンポーネントを使うことをお勧めします。
  • Swing UIテスト用の汎用フレームワークは提供していません。プラグインUIテストにFEST(英語)シクリ(英語)などのツールを使用してみることはできますが、いずれも使用せず、それらの使用に関するガイドラインを提供できません。内部的には、Swing UIをテストするために手動テストを使用しています。platform / testGuiFrameworkは使用しないでください。内部使用のために予約されています。

トピック

カスタム言語プラグイン(ソースコードを含む)の自動テストを書く方法と実行する方法を教えてこのステップバイステップチュートリアルをチェックしてください。

最終更新日: