0

問題:拡張クラスからの戻りオブジェクトでメソッドをスタブ化できません。スタブ化しようとしているメソッドでnullポインターを取得するだけです。最初にオブジェクトに対してスパイを実行する必要がありますか?私もそれを試しましたが、うまくいきませんでした。

テストフレームワーク:PowerMockitoバージョン1.9PowerMockバージョン1.4.11EasyMockバージョン3.1

テストしようとしているコード行。

String expected = methodFromExtendedClass_GetObject().getStringValueFromReturnObject();

テストコード

PowerMockito.stub(MemberModifier.method(ExtendedClassA.class, "methodFromExtendedClass_GetObject()")).toReturn(new testObject());

PowerMockito.stub(MemberModifier.method(testObject.class, "getStringValueFromReturnObject")).toReturn(testString);

4

1 に答える 1

0

EasyMock の構文はわかりませんが、Mockito は知っています。ここで作業することはあまりありませんが、文字列を返す別のモックを返すためにスタブ オブジェクトを作成しようとしているようです。

その場合は、モック テスト オブジェクトを作成します。

TestObject testObject = mock(TestObject.class);

when(testObject.getStringValueFromReturnObject()).thenReturn(testString);

次に、そのモックをスタブの戻り値として使用します。

PowerMockito.stub(MemberModifier.method(ExtendedClassA.class, 
           "methodFromExtendedClass_GetObject()")).toReturn(testObject);
于 2012-01-20T23:45:26.693 に答える