rxjava2経由でRetrofit2コールをテストする方法が不思議です。私の改造APIインタフェースは、次のようになります。Retrofit2 + RxJava2 APIコールをテストするには?
public interface LoginApiMapping {
@POST("v1/secm/oam/oauth2/token")
Observable<Response<RestResponseHolder<LoginResponseModel>>> login(@Body LoginModel model);
}
と私はRxJava2でこのリクエストを送信し、応答をチェックするテストを書きたいと思います。私はそれが非同期であり、私は応答を取得する前にテストが終了するので、私は以下のようにTestSubscriberを使用しようとしたとしてRxJavaに問題があることを考えるが、私としてTestSubscriber <レスポンスに< RestResponseHolder < LoginResponseModel > > >をサブスクライブすることはできません期待される
@Test
public void loginTest(){
Context appContext = InstrumentationRegistry.getTargetContext();
Api t = TestApi.create(appContext);
LoginModel loginModel = new LoginModel("username","password");
TestSubscriber<Response<RestResponseHolder<LoginResponseModel>>> testSubscriber = new TestSubscriber<>();
t.get(LoginApiMapping.class).login(loginModel).subscribe(testSubscriber);
}
それを解決した人は誰ですか?おかげでテストアドオンのの終わりに
ありがとう、私はそれが役に立つと思いますが、まずTestSubscriber>>を購読できる必要があります。多分それは一般性にいくつかの問題があるかもしれませんか?この例では、RubberChickenオブジェクトでhttp://fedepaol.github.io/blog/2015/09/13/testing-rxjava-observables-subscriptions/のように動作しているようです。多分RxJava2のために?私は私のオブジェクトを購読しようとすると、それをコンパイルすることさえできません。 –
Houskov