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

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


6
システムクラスのモック中にMockito + PowerMock LinkageError
私はそのようなコードスニペットを持っています: @RunWith(PowerMockRunner.class) @PrepareForTest({Thread.class}) public class AllMeasuresDataTest { @Before public void setUp() throws Exception { } @Test public void testGetMeasures() { AllMeasuresData measure = new AllMeasuresData(); assertEquals(measure.getMeasures(), null); HashMap<String, Measure> map = new HashMap<String, Measure>(); measure.setMeasures(map); assertEquals(measure.getMeasures(), map); measure.setMeasures(null); assertEquals(measure.getMeasures(), null); } @Test public void testAllMeasuresData() throws IOException { ClassLoader loader …

3
ArgumentCaptorをスタブに使用する方法は?
Mockitoのドキュメントとjavadocsではそれは言う 検証ではArgumentCaptorを使用することをお勧めしますが、スタブでは使用しないでください。 しかし、ArgumentCaptorをスタブに使用する方法がわかりません。誰かが上記のステートメントを説明し、ArgumentCaptorをスタブに使用する方法を示したり、それを行う方法を示すリンクを提供したりできますか?

5
Mockitoは任意のクラス引数と一致します
以下のサンプルルーチンのクラス引数を照合する方法はありますか? class A { public B method(Class<? extends A> a) {} } どのクラスが渡されたかに関係なく、どのようにして常に返すことができますか?次の試みは、が一致する特定のケースでのみ機能します。new B()methodA A a = new A(); B b = new B(); when(a.method(eq(A.class))).thenReturn(b); 編集:1つの解決策は (Class<?>) any(Class.class)

9
Mockitoで可変引数を適切に一致させる方法
私はMockitoを使用して、可変引数パラメーターを持つメソッドをモックしようとしています: interface A { B b(int x, int y, C... c); } A a = mock(A.class); B b = mock(B.class); when(a.b(anyInt(), anyInt(), any(C[].class))).thenReturn(b); assertEquals(b, a.b(1, 2)); これは機能しませんが、代わりにこれを行うと: when(a.b(anyInt(), anyInt())).thenReturn(b); assertEquals(b, a.b(1, 2)); これは機能しますが、メソッドをスタブするときにvarargs引数を完全に省略しています。 手がかりはありますか?

2
Mockitoで検出された未完成のスタブ
テストの実行中に次の例外が発生します。私はモッキングにモッキートを使用しています。Mockitoライブラリで言及されているヒントは役に立ちません。 org.mockito.exceptions.misusing.UnfinishedStubbingException: Unfinished stubbing detected here: -> at com.a.b.DomainTestFactory.myTest(DomainTestFactory.java:355) E.g. thenReturn() may be missing. Examples of correct stubbing: when(mock.isOk()).thenReturn(true); when(mock.isOk()).thenThrow(exception); doThrow(exception).when(mock).someVoidMethod(); Hints: 1. missing thenReturn() 2. you are trying to stub a final method, you naughty developer! at a.b.DomainTestFactory.myTest(DomainTestFactory.java:276) .......... からのテストコードDomainTestFactory。次のテストを実行すると、例外が表示されます。 @Test public myTest(){ MyMainModel mainModel = Mockito.mock(MyMainModel.class); Mockito.when(mainModel.getList()).thenReturn(getSomeList()); // …
151 java  mocking  mockito 

9
入力引数に基づくPython関数のモック
しばらくの間、PythonでMockを使用しています。 今、私たちは関数をモックしたい状況があります def foo(self, my_param): #do something here, assign something to my_result return my_result 通常、これをモックする方法は次のとおりです(fooがオブジェクトの一部であると想定) self.foo = MagicMock(return_value="mocked!") でも、foo()を数回呼び出すと、使用できます self.foo = MagicMock(side_effect=["mocked once", "mocked twice!"]) 現在、入力パラメーターが特定の値であるときに固定値を返したいという状況に直面しています。「my_param」が「something」と等しい場合、「my_cool_mock」を返します これはpythonのmockitoで利用できるようです when(dummy).foo("something").thenReturn("my_cool_mock") 私はモックで同じことを達成する方法を探していましたが、成功しませんでしたか? 何か案は?


4
MockitoのargumentCaptorの例
誰でも、org.mockito.ArgumentCaptorクラスの使用方法と、mockitoで提供される単純なマッチャーとの違いを示す例を教えてください。 私は提供されたmockito文書を読みましたが、それらはそれを明確に示していません。それらのどれも明確に説明することはできません。

5
Mockito:InvalidUseOfMatchersException
DNSチェックを実行するコマンドラインツールがあります。DNSチェックが成功した場合、コマンドはさらにタスクを続行します。Mockitoを使用して、このための単体テストを作成しようとしています。これが私のコードです: public class Command() { // .... void runCommand() { // .. dnsCheck(hostname, new InetAddressFactory()); // .. // do other stuff after dnsCheck } void dnsCheck(String hostname, InetAddressFactory factory) { // calls to verify hostname } } InetAddressFactoryを使用して、InetAddressクラスの静的実装をモックしています。これがファクトリーのコードです: public class InetAddressFactory { public InetAddress getByName(String host) throws UnknownHostException { return …

1
Javaは、Mockitoでvoidメソッド呼び出しをn回検証します
DAO内で(void)メソッドが呼び出されていることを確認しようとしています。その時点までの結果のリストを送信し、リストをリセットして続行するコミットポイントを使用しています。リストに4つの項目があり、コミットポイントが1であるとします。「send」メソッドが4回呼び出されることを期待します。次のように記述することで、メソッドが1回呼び出されることを確認できます Mockito.verify(mock).send() 合格ですが、呼び出された回数を確認したいと思います。と思う Mockito.verify(mock.send(), times(4)) 十分ですが、検証するためのパラメーターが正しくないと表示されています。 ちなみに、変更Mockito.verify(mock).send()し Mockito.verify(mock.send())たりMockito.verify((mock).send())同じエラーが出たりした 場合 。これについての考え?

5
Mockitoを使用する場合のモッキングとスパイの違いは何ですか?
Mockitoスパイの使用のユースケースは何ですか? callRealMethodを使用すると、すべてのスパイのユースケースをモックで処理できるように思えます。 私が見ることができる1つの違いは、ほとんどのメソッド呼び出しを実際のものにしたい場合、モック対スパイを使用するためにコードのいくつかの行を節約することです。それですか、それとも全体像が欠けていますか?
137 java  testing  mocking  mockito 


8
Mockitoを使用してクラスのメンバー変数をモックする
私は特に開発とユニットテストの初心者です。私の要件はかなり単純だと思いますが、私はこれについて他の考えを知りたいと思っています。 私のように2つのクラスがあるとしましょう- public class First { Second second ; public First(){ second = new Second(); } public String doSecond(){ return second.doSecond(); } } class Second { public String doSecond(){ return "Do Something"; } } First.doSecond()メソッドをテストするための単体テストを書いているとしましょう。しかし、私はSecond.doSecond()そのようにクラスをモックしたいとします。私はこれを行うためにMockitoを使用しています。 public void testFirst(){ Second sec = mock(Second.class); when(sec.doSecond()).thenReturn("Stubbed Second"); First first = new First(); assertEquals("Stubbed …
136 java  mocking  mockito 

5
Mockito:バインドされたワイルドカードで型を返すスタブメソッド
このコードを考えてみましょう: public class DummyClass { public List<? extends Number> dummyMethod() { return new ArrayList<Integer>(); } } public class DummyClassTest { public void testMockitoWithGenerics() { DummyClass dummyClass = Mockito.mock(DummyClass.class); List<? extends Number> someList = new ArrayList<Integer>(); Mockito.when(dummyClass.dummyMethod()).thenReturn(someList); //Compiler complains about this } } コンパイラは、の動作をスタブ化しようとしている行について文句を言いdummyMethod()ます。ワイルドカードがバインドされた型を返すメソッドをスタブする方法についてのポインタはありますか?

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