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

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

1
PowerMockitoモック単一静的メソッドとオブジェクトを返す
2つの静的メソッドm1とm2を含むクラスから静的メソッドm1をモックしたい。そして、私はメソッドm1がオブジェクトを返すことを望みます。 私は以下を試しました 1) PowerMockito.mockStatic(Static.class, new Answer<Long>() { @Override public Long answer(InvocationOnMock invocation) throws Throwable { return 1000l; } }); これは、戻り値の型が異なるm1とm2の両方を呼び出すため、戻り値の型の不一致エラーが発生します。 2)PowerMockito.when(Static.m1(param1, param2)).thenReturn(1000l); しかし、これはm1が実行されるときに呼び出されません。 3)http://code.google.com/p/powermock/wiki/MockitoUsagePowerMockito.mockPartial(Static.class, "m1"); から取得したmockPartialが利用できないというコンパイラエラーが発生します。

26
プラグインを初期化できませんでした:インターフェースorg.mockito.plugins.MockMaker
テストを開始すると、次の例外が発生します。 Testcase: treeCtorArgumentTest(com.xythos.client.drive.cachedtree.CachedTreeTest): Caused an ERROR Could not initialize plugin: interface org.mockito.plugins.MockMaker java.lang.IllegalStateException: Could not initialize plugin: interface org.mockito.plugins.MockMaker at org.mockito.internal.configuration.plugins.PluginLoader$1.invoke(PluginLoader.java:66) at com.sun.proxy.$Proxy7.isTypeMockable(Unknown Source) at org.mockito.internal.util.MockUtil.typeMockabilityOf(MockUtil.java:29) at org.mockito.internal.util.MockCreationValidator.validateType(MockCreationValidator.java:22) at org.mockito.internal.creation.MockSettingsImpl.validatedSettings(MockSettingsImpl.java:168) at org.mockito.internal.creation.MockSettingsImpl.confirm(MockSettingsImpl.java:162) at org.mockito.internal.MockitoCore.mock(MockitoCore.java:64) at org.mockito.Mockito.mock(Mockito.java:1687) at org.mockito.Mockito.mock(Mockito.java:1600) at com.xythos.client.drive.cachedtree.CachedTreeTest.setUp(CachedTreeTest.java:51) Caused by: java.lang.NoClassDefFoundError: net/bytebuddy/dynamic/loading/ClassLoadingStrategy at org.mockito.internal.creation.bytebuddy.SubclassByteBuddyMockMaker.<init>(SubclassByteBuddyMockMaker.java:33) at org.mockito.internal.creation.bytebuddy.ByteBuddyMockMaker.<init>(ByteBuddyMockMaker.java:22) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) …
97 mockito 

6
Mockito:モック専用フィールドの初期化
インラインで初期化されているフィールド変数をモックするにはどうすればよいですか? class Test { private Person person = new Person(); ... public void testMethod() { person.someMethod(); ... } } ここで、変数の初期化をモックする必要のperson.someMethod()あるTest.testMethod()メソッドをテストしながらモックしたいと思いpersonます。どんな手掛かり? 編集: Personクラスの変更は許可されていません。

7
Mockitoスーパークラスのメソッドの呼び出しのみをモックする方法
一部のテストでMockitoを使用しています。 次のクラスがあります。 class BaseService { public void save() {...} } public Childservice extends BaseService { public void save(){ //some code super.save(); } } の2番目の呼び出し(super.save)のみをモックしたいChildService。最初の呼び出しは、実際のメソッドを呼び出す必要があります。それを行う方法はありますか?
94 java  mockito 

17
mockitoテストを実行するとWrongTypeOfReturnValue例外が発生する
エラーの詳細: org.mockito.exceptions.misusing.WrongTypeOfReturnValue: Boolean cannot be returned by updateItemAttributesByJuId() updateItemAttributesByJuId() should return ResultRich This exception might occur in wrongly written multi-threaded tests. Please refer to Mockito FAQ on limitations of concurrency testing. 私のコード: @InjectMocks protected ItemArrangeManager arrangeManagerSpy = spy(new ItemArrangeManagerImpl()); @Mock protected JuItemWriteService juItemWriteService; when(arrangeManagerSpy .updateItemAttributes(mapCaptor.capture(), eq(juId), eq(itemTO.getSellerId()))) .thenReturn(false); ご覧のとおり、私は(ではなく)を要求whenしupdateItemAttributesています。booleanupdateItemAttributesByJuId なぜMockitoは返却しようとしているbooleanからupdateItemAttributesByJuId? …
94 java  mockito 

5
パラメーターを使用してコンストラクターをモックします
私は以下のようなクラスを持っています: public class A { public A(String test) { bla bla bla } public String check() { bla bla bla } } コンストラクターのロジックA(String test)とcheck()は、私がモックしようとしているものです。次のような呼び出しが必要です:new A($$$any string$$$).check()ダミー文字列を返します"test"。 私は試した: A a = mock(A.class); when(a.check()).thenReturn("test"); String test = a.check(); // to this point, everything works. test shows as "tests" whenNew(A.class).withArguments(Matchers.anyString()).thenReturn(rk); // also tried: …

4
mockitoコールバックと引数値の取得
Mockitoに関数の引数値をキャプチャさせる運がありません!私は検索エンジンのインデックスをモックしていて、インデックスを作成する代わりに、ハッシュを使用しています。 // Fake index for solr Hashmap<Integer,Document> fakeIndex; // Add a document 666 to the fakeIndex SolrIndexReader reader = Mockito.mock(SolrIndexReader.class); // Give the reader access to the fake index Mockito.when(reader.document(666)).thenReturn(document(fakeIndex(666)) クエリの結果(つまり、クエリが返すドキュメント)をテストしているため、任意の引数を使用することはできません。同様に、ドキュメントごとに特定の値を指定したり、行を設定したりしたくありません。 Mockito.when(reader.document(0)).thenReturn(document(fakeIndex(0)) Mockito.when(reader.document(1)).thenReturn(document(fakeIndex(1)) .... Mockito.when(reader.document(n)).thenReturn(document(fakeIndex(n)) 「Mockitoの使用」ページの「コールバック」セクションを見ました。残念ながら、それはJavaではなく、Javaで機能するように自分で解釈することはできませんでした。 編集(説明のため):Mockitoに引数Xをキャプチャさせて、それを関数に渡すにはどうすればよいですか?Xの正確な値(またはref)を関数に渡してほしい。 すべてのケースを列挙したくはありません。また、クエリごとに異なる結果をテストしているため、任意の引数は機能しません。 Mockitoページには val mockedList = mock[List[String]] mockedList.get(anyInt) answers { i => "The parameter …

3
Class <T>のパラメータに渡されたnullをMockitoと照合する方法
私はこれらのような方法を持っています: public &lt;T&gt; method(String s, Class&lt;T&gt; t) {...} null他のパラメーターにマッチャーを使用するときに2番目の引数に渡されることを確認する必要があることを確認する必要があります。 @SuppressWarnings("unchecked") verify(client).method(eq("String"), any(Class.class)); しかし、(警告を抑制せずに)より良い方法はありますか?T他のメソッドの戻り値の型を表します。voidこの場合nullは、で渡されます。

12
ログでメソッドeをモックする方法
ここで、Utils.javaはテスト対象のクラスであり、以下はUtilsTestクラスで呼び出されるメソッドです。以下に示すようにLog.eメソッドをモックしている場合でも @Before public void setUp() { when(Log.e(any(String.class),any(String.class))).thenReturn(any(Integer.class)); utils = spy(new Utils()); } 次の例外が発生します java.lang.RuntimeException: Method e in android.util.Log not mocked. See http://g.co/androidstudio/not-mocked for details. at android.util.Log.e(Log.java) at com.xxx.demo.utils.UtilsTest.setUp(UtilsTest.java:41) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at …
81 android  junit  mockito 

3
Mockitoはローカルで最終クラスをモックしますが、ジェンキンスで失敗します
静的メソッドのユニットテストをいくつか作成しました。staticメソッドは引数を1つだけ取ります。引数の型は最終クラスです。コードに関して: public class Utility { public static Optional&lt;String&gt; getName(Customer customer) { // method's body. } } public final class Customer { // class definition } そのため、UtilityクラスUtilityTestsについて、このメソッドのテストを記述したテストクラスを作成しましたgetName。ユニットテストフレームワークはTestNGであり、使用されるモックライブラリはMockitoです。したがって、一般的なテストの構造は次のとおりです。 public class UtilityTests { @Test public void getNameTest() { // Arrange Customer customerMock = Mockito.mock(Customer.class); Mockito.when(...).thenReturn(...); // Act Optional&lt;String&gt; name = Utility.getName(customerMock); // Assert …

3
テストクラスをモックしてスパイするときにnullポインタ例外が発生する
Android Studio 3.5.3 Kotlin 1.3 いくつかの簡単なコードをテストしようとしていますが、次の例外が発生し続けます。 IllegalStateException: gsonWrapper.fromJson&lt;Map…ring, String&gt;&gt;() {}.type) must not be null 私はスパイを使用して、戻り値をあざけるので、nullを返します。エラーパスをテストしたいので。 私が私のスタブで何か悪いことをしているかどうかわからない。しかし、この例外を解決できないようです。 ラッパークラスを使用してgson実装をラップし、テストでこれをスパイする public class GsonWrapper implements IGsonWrapper { private Gson gson; public GsonWrapper(Gson gson) { this.gson = gson; } @Override public &lt;T&gt; T fromJson(String json, Type typeOf) { return gson.fromJson(json, typeOf); } } テスト中の私のクラスの実装 class …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.