0

私は Apache sling ベースの環境で作業しています。私のコードベースの多くは、Junit テストを使用してコンパイル時に「通常どおり」単体テストできます。

フレームワークを介して渡される HTTP 要求のコンテキストが正しく機能することを必要とする機能のサブセットがあり、私が依存しているフレームワークが提供するすべてのオブジェクトをモックするのは非常に困難です。

私のテスト ビルド サイクル中の現在のアプローチは次のとおりです。 「テスト」して何らかの値を返す 4) 戻り値を期待値と比較してチェックする (3-4 を繰り返す)

プラットフォームの外部で (HTTP 要求を発行している場所から) テストを最も効果的に定義し、ローカル インスタンスのコンテキストから実行する方法を見つけようとしています。

テストスイートを構築して実行するための最良の方法についての考えは、これらの要件を与えますか?

4

1 に答える 1

0

あなたがやろうとしていることは、通常「統合テスト」または「受け入れテスト」と呼ばれるものを実行することだと思います。境界線はあいまいですが、統合テスト/受け入れテストを作成するのは、一般に複数のコンポーネントが含まれているためです。単体テストでは、1 つのコンポーネントのみに焦点を当て、すべてを模擬する必要があります。

私の最善の推奨事項は、Sling サーバーを (定義済みのポートで) 起動する別のテスト スイートを作成し、サーバーへの RESTful 呼び出しを行う一連のテストを実行することです。

Spring Rest Template または Jersey's Rest Client with JUnitを使用することをお勧めします。ビルド スクリプトでサーバーを起動する必要があります。多くの人がCargoを使っています(残念ながら、cargo サイトは現在ダウンしています)。

ゆっくりと、ライブラリと便利なフィクスチャ/メソッド/オブジェクトを作成して、簡単にできるようにします。

于 2012-05-20T18:19:48.903 に答える