。Mockito.doReturnは、()()動作していない - ユニットテストは、元のメソッドの呼び出しを続けています

マシューNNZ:

私はしかし、すべての時間をと呼ばれる特定の方法、の応答を模擬する必要のあるSOAPのAPIのユニットテストを書いています。

私のユニットテストの(関連)のコードは以下の通りであります:

import org.mockito.Matchers;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;


public class PricingSessionTest{

    @Test
    public void testPricingOfStrategyWithCorrectFormat() throws Exception {

        //[...other code...]
        PricingSessionImpl pricingSession = new PricingSessionImpl(this.session);
        PricingSessionImpl spyPricingSession = Mockito.spy(pricingSession);
        Mockito.doReturn(myResult)
               .when(spyPricingSession)
               .send(
                   Mockito.any(MxML.class),
                   Matchers.eq(ACTION_PRICE),
                   Matchers.eq(TimeoutDuration),
                   Matchers.eq(TimeoutUnit)
                );
        List<PricingResult<?>> pricedProducts = pricingSession.price(listOfProductsToPrice);        
    }

メソッドの内部.price()スパイオブジェクトのpricingSession(タイプPricingSessionImpl)以下のメソッドの呼び出しがあります:

protected List<MxDocument> send(MxML mxml, String action, long timeout, TimeUnit timeoutUnit) throws RequestException, RequestTimeoutException 

メソッドの実装は、親クラスで発見されたpublic abstract class AbstractPricingSession(しかし、この方法自体はされていないabstract)、あなたは下の階層を見つけることができます。

ここでは、画像の説明を入力します。

私はこのユニットテストをデバッグする場合、いくつかの点で私はモックとしたいメソッドの呼び出しの前に取得します:

List<MxDocument> documents = send(mxml, ACTION_PRICE, getTimeoutDuration(), getTimeoutUnit());

ここで、私は私が期待するMockito私を返すようにmyResultメソッドの呼び出し以降、send()クラスでは、PricingSessionImplタイプのパラメータで行われMxML、その後1とString、1 longと1 TimeUnit私が渡しているまさにです.when()

しかし、メソッドが呼び出さ取得を続けています。

良い方向に向かって誰ポイント私はこの問題をデバッグすることはできますか?私はウェブに既に存在しているこのテーマに関する複数の質問/回答をチェックしましたが、これまでのところ、私の特定のケースのために役立つ何かを見つけることができませんでしたのでご注意ください。
ケースでは、より多くのコードでは、お気軽にお問い合わせを参照する必要があります。

MatF:

スパイが実際に使用されるためには、への呼び出しprice(listOfProductsToPrice)のニーズは、インスタンス上のスパイに移動しますspyPricingSession

List<PricingResult<?>> pricedProducts = spyPricingSession.price(listOfProductsToPrice);

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=204125&siteId=1