タグ付けされた質問 「mockito」

MockitoはJava用のモックフレームワークです。EasyMockに触発されましたが、モックのスタブ化、検証、およびツールをさらに簡素化することを目的としています。

6
Mockitoを使用してジェネリックパラメーターを持つクラスをモックする
ジェネリックパラメーターでクラスをモックするクリーンな方法はありますか?Foo<T>を期待するメソッドに渡す必要があるクラスをモックする必要があるとしましょうFoo<Bar>。次のことを簡単に行うことができます。 Foo mockFoo = mock(Foo.class); when(mockFoo.getValue).thenReturn(new Bar()); 仮定getValue()はジェネリック型を返しますT。しかし、後でそれを期待するメソッドに渡すと、子猫ができFoo<Bar>ます。これを行う唯一の方法はキャストですか?
280 java  generics  mockito 

5
Mockitoが静的メソッドをモックしないのはなぜですか?
静的メソッドについてここでいくつかのスレッドを読み、静的メソッドの誤用/過度の使用が引き起こす可能性がある問題を理解していると思います。しかし、静的メソッドをモックするのが難しい理由の根本には至りませんでした。 PowerMockなどの他のモックフレームワークがそれを実行できることを知っていますが、なぜMockitoができないのですか? 私はこの記事を読みましたが、作者は宗教的にこの言葉staticに反対しているようです。おそらく私の理解不足です。 簡単な説明/リンクがいいでしょう。
267 java  methods  static  mockito 

11
mockitoでオブジェクトの属性値を確認する
mockitoでモックしたいメソッド呼び出しがあります。まず、メソッドが呼び出されるオブジェクトのインスタンスを作成して注入しました。私の目的は、メソッド呼び出しでオブジェクトの1つを検証することです。 mockitoを使用して、モックメソッドが呼び出されたときにオブジェクトとその属性をアサートまたは検証できる方法はありますか? 例 Mockito.verify(mockedObject) .someMethodOnMockedObject( Mockito.<SomeObjectAsArgument>anyObject()) 代わりにanyObject()、引数オブジェクトに特定のフィールドが含まれていることを確認したい Mockito.verify(mockedObject) .someMethodOnMockedObject( Mockito.<SomeObjectAsArgument>**compareWithThisObject()**)
264 java  mocking  mockito 

8
Mockitoマッチャーとプリミティブの配列
Mockito verify()を使用byte[]して、引数リストにメソッドを呼び出したいのですが、これを書く方法が見つかりませんでした。 myMethod( byte[] ) 私はちょうどのような何かしたいanyByteArray()Mockitoとそれを行う方法を、?
226 java  mockito 

9
モッキート。メソッドの引数を確認する
私はこれについてグーグルで調べましたが、関連するものは何も見つかりませんでした。私はこのようなものを持っています: Object obj = getObject(); Mockeable mock= Mockito.mock(Mockeable.class); Mockito.when(mock.mymethod(obj )).thenReturn(null); Testeable testableObj = new Testeable(); testableObj.setMockeable(mock); command.runtestmethod(); ここで、mymethod(Object o)内runtestmethod()で呼び出されたが、o他ではなくObject で呼び出されたことを確認します。しかし、私は、たとえば、次のように、検証に置いたものは何でも、常にテストに合格します。 Mockito.verify(mock.mymethod(Mockito.eq(obj))); または Mockito.verify(mock.mymethod(Mockito.eq(null))); または Mockito.verify(mock.mymethod(Mockito.eq("something_else"))); 私はいつもテストに合格します。どうすればその検証を実行できますか(可能な場合)? ありがとうございました。

24
最終クラスをmockitoでモックする方法
私はこのような最終クラスを持っています: public final class RainOnTrees{ public void startRain(){ // some code here } } 私はこのクラスをこのような他のクラスで使用しています: public class Seasons{ RainOnTrees rain = new RainOnTrees(); public void findSeasonAndRain(){ rain.startRain(); } } そして、JUnitテストクラスでクラスSeasons.javaをモックしたいのですRainOnTrees。Mockitoでこれを行うにはどうすればよいですか?
218 java  junit  mockito 


4
Mockitoはメソッド呼び出しの順序/シーケンスを検証します
MockitoでmethodOne以前methodTwoに呼び出されているかどうかを確認する方法はありますか? public class ServiceClassA { public void methodOne(){} } public class ServiceClassB { public void methodTwo(){} } public class TestClass { public void method(){ ServiceClassA serviceA = new ServiceClassA(); ServiceClassB serviceB = new ServiceClassB(); serviceA.methodOne(); serviceB.methodTwo(); } }

5
Mockitoモックオブジェクトに、次に呼び出されたときに別のオブジェクトを返すように指示するにはどうすればよいですか?
だから、私はモックオブジェクトをクラスレベルで静的変数として作成しています...あるテストでFoo.someMethod()は特定の値を返し、別のテストでは別の値を返します。私が抱えている問題は、これを正しく機能させるためにモックを再構築する必要があるようだということです。モックの再構築を避け、各テストで同じオブジェクトを使用するだけです。 class TestClass { private static Foo mockFoo; @BeforeClass public static void setUp() { mockFoo = mock(Foo.class); } @Test public void test1() { when(mockFoo.someMethod()).thenReturn(0); TestObject testObj = new TestObject(mockFoo); testObj.bar(); // calls mockFoo.someMethod(), receiving 0 as the value } @Test public void test2() { when(mockFoo.someMethod()).thenReturn(1); TestObject testObj = new TestObject(mockFoo); …

6
Mockito.verify()を使用する場合
私は3つの目的でjUnitテストケースを作成します。 すべての(またはほとんどの)入力の組み合わせ/値の下で、コードが必要な機能のすべてを確実に満たすようにします。 実装を変更できることを確認し、JUnitテストケースに依存して、すべての機能がまだ満足していることを通知します。 私のコードが扱うすべてのユースケースのドキュメントとして、コードをリライトする必要がある場合に備えて、リファクタリングの仕様として機能します。(コードをリファクタリングし、私のjUnitテストが失敗した場合-おそらくいくつかのユースケースを見逃していたでしょう)。 なぜ、いつMockito.verify()使うべきかわかりません。verify()呼び出されているのを見ると、私のjUnitが実装を認識していることがわかります。(したがって、私の機能に影響がなかったとしても、私の実装を変更すると、jUnitsが壊れてしまいます)。 を探しています: の適切な使用のためのガイドラインはMockito.verify()何ですか? jUnitsがテスト対象のクラスの実装を認識または密接に結合することは基本的に正しいですか?

5
Mockito-doReturn()とwhen()の違い
現在、Mockitoを使用して、コントローラーメソッドをテストするSpring MVCアプリケーションのサービスレイヤーオブジェクトをモックしています。ただし、Mockitoの詳細を読んでいると、メソッドdoReturn(...).when(...)がと同等であることがわかりましたwhen(...).thenReturn(...)。だから、私の質問には微妙な違い何で同じことを行うか、二つの方法持つのポイント何ですdoReturn(...).when(...)とwhen(...).thenReturn(...)? 任意の助けいただければ幸いです。

4
Mockitoの一般的な「any()」メソッドを使用する
私は配列を期待するメソッドとのインターフェースを持っていますFoo: public interface IBar { void doStuff(Foo[] arr); } 私はMockitoを使用してこのインターフェイスをモックしており、それdoStuff()が呼び出されたと主張したいのですが、渡された引数を検証したくありません-「気にしないでください」。 次のコードをany()、ジェネリックメソッドの代わりにを使用してどのように記述しますanyObject()か? IBar bar = mock(IBar.class); ... verify(bar).doStuff((Foo[]) anyObject());

5
Mockito:実際のオブジェクトをプライベート@Autowiredフィールドに挿入する
私はMockito @Mockと@InjectMocksアノテーションを使用して、Springでアノテーションが付けられたプライベートフィールドに依存関係を挿入しています@Autowired。 @RunWith(MockitoJUnitRunner.class) public class DemoTest { @Mock private SomeService service; @InjectMocks private Demo demo; /* ... */ } そして public class Demo { @Autowired private SomeService service; /* ... */ } 次に、実際のオブジェクトもプライベート@Autowiredフィールド(セッターなし)に挿入したいと思います。これは可能ですか、それともモックの注入のみに制限されていますか?
190 java  spring  mockito 

5
Mockitoでモックからチェックされた例外をスローする
特定のメソッドが呼び出されたときに、モックされたオブジェクトの1つにチェック例外をスローさせようとしています。私は以下を試しています。 @Test(expectedExceptions = SomeException.class) public void throwCheckedException() { List<String> list = mock(List.class); when(list.get(0)).thenThrow(new SomeException()); String test = list.get(0); } public class SomeException extends Exception { } ただし、次のエラーが発生します。 org.testng.TestException: Expected exception com.testing.MockitoCheckedExceptions$SomeException but got org.mockito.exceptions.base.MockitoException: Checked exception is invalid for this method! Invalid: com.testing.MockitoCheckedExceptions$SomeException Mockitoのドキュメントを見ると、彼らは使用しているだけRuntimeExceptionですが、Mockitoでモックオブジェクトからチェックされた例外をスローすることはできませんか?
173 java  mocking  mockito 


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.