PowerMocklitoを使用して2つの静的メソッドをモックする必要がある状況に陥っています。それは私にコードの最初の行のための嘲笑されたオブジェクトを与えますが、同じメソッドが再び呼び出されますが、今度は別のオブジェクトを返していて、これはClassCastException
をスローします。Mockito/PowerMockitoを使用してClassCastExceptionを解決する方法
テスト中のメソッド
ESignatureJaxBContextFactory context = (ESignatureJaxBContextFactory) AppContext.getBean("jaxbContextFactory");
/// More code
DocusignRESTClient client = (DocusignRESTClient) AppContext.getBean("restServiceClient");
JUnitの
private ESignatureJaxBContextFactory eSignatureJaxBContextFactory;
eSignatureJaxBContextFactory = mock(ESignatureJaxBContextFactory.class);
PowerMockito.when(AppContext.getBean(any(String.class))).thenReturn(eSignatureJaxBContextFactory);
ので、上記のコード行は、私のモックコンテキストを返しますが、それは、クライアントを取得しようとしたとき、私は例外を取得します。これをどうすればテストできますか? AppContext.getBean
がパラメータ"jaxbContextFactory"
で呼び出されたとき、それはではなく、任意のためのeSignatureJaxBContextFactory
を返します。この場合
PowerMockito.when(AppContext.getBean("jaxbContextFactory"))
.thenReturn(eSignatureJaxBContextFactory);
PowerMockito.when(AppContext.getBean("restServiceClient"))
.thenReturn(docusignRESTClient);
:事前
両方の解決策が私のために働いた。あなたのソリューションはとても論理的でシンプルです。どうもありがとうございます。 – Mike