5

Junit4テストを実行するときは、@RunWith(SpringJUnit4ClassRunner.class)アノテーションを使用して、SpringBeanをテストクラスに挿入できるようにします。

JMock 2フレームワーク(実際の経験はありません)を使用したいのですが、表示される例では次のものが必要です@RunWith(JMock.class)

だから私の質問は、JMockとSpringをJUnit4テストと一緒に使用できますか?もしそうなら、どのように使用しますか?たとえば、JMockもサポートするSpringテストランナーはありますか?

ありがとう、

リチャード

4

3 に答える 3

6

メソッドcontext.assertIsSatisfied()などで、テストの最後に明示的に呼び出すことができます。@After

jmock.orgサイトで、任意のコード例の [その他] タブを選択すると、JUnit フレームワークを統合せずに jMock を使用する方法がドキュメントに表示されます。

jMock の次のバージョンは、JUnit 4.7 の新しい「ルール」メカニズムをサポートするため、カスタム テスト ランナーを使用する必要はありません。

于 2009-11-18T14:47:17.497 に答える
1

問題が に関連している場合は、代わりにJMockit Expectations API@RunWithを使用できます。期待値もブロック内に記録されるという点で jMock に似ていますが、(ベース テスト クラスも) を使用する必要はありません。さらに、期待ブロックをラップするメソッド呼び出しはありません。new Expectations() {...}@RunWithcontext.checking(...)

于 2009-12-27T23:07:31.403 に答える
1

ここでもポイントを逃している可能性があると思います。単体テストでは、テスト対象のオブジェクトの構築方法を正確に制御したいと考えています。つまり、既知のインスタンスをコラボレーターとして渡します。つまり、オブジェクトが必要な場合は、テストで作成して渡します。Spring を呼び出すのはやり過ぎのように思えます。

一方、なんらかの統合テストを行う場合、全体がどのように接続されているかを確認したり、サードパーティのコンポーネントに対してテストしたりするために、Spring Bean が必要になります。

于 2010-01-22T13:01:13.977 に答える