単体テストと統合テストには TestNG を使用し、DI には Guice を使用しています。テスト クラスを他のクラスのように扱いたいと思います。インジェクターを直接操作するのではなく、@Inject でマークされたフィールドを定義し、各テストの前にこれらを注入します。
これを行うフレームワークはありますか?AtUnitも同様のことを行っていると思いますが、TestNG とどのように統合されているか、どの程度成熟しているかはわかりません。
単体テストと統合テストには TestNG を使用し、DI には Guice を使用しています。テスト クラスを他のクラスのように扱いたいと思います。インジェクターを直接操作するのではなく、@Inject でマークされたフィールドを定義し、各テストの前にこれらを注入します。
これを行うフレームワークはありますか?AtUnitも同様のことを行っていると思いますが、TestNG とどのように統合されているか、どの程度成熟しているかはわかりません。
Cedricは、@Guice
このユースケースを容易にするために、TestNGに直接注釈を追加しました。
TestNG は内部的に Guice を使用しますが、TestNG が参照する前に (Guice または任意の他のフレームワークを使用して) テスト クラスを注入することも非常に簡単になります。
IObjectFactoryを実装し、TestNG を -objectfacfory で起動するときにクラス名を宣言するだけです。
次に、TestNG はすべてのオブジェクトの作成をファクトリに委任します。これにより、インスタンスを作成し、それらを TestNG に返す前に注入できます。
これを使用して TestNG.xml グループとやり取りする方法の例については、私のブログ エントリhttp://biggerwrench.blogspot.com/2014/02/testng-using-guice-for-dependency.htmlを参照してください。