現在、RxJavaを使用してAndroidアプリケーションを開発中です。ユニットテストにおけるRxJavaの模擬活動ライフサイクル
public Observable<Response<DTO>> getDTO(final BaseActivity activity, final long workorderId) {
return dtoService.getDTO(DTOId)
.subscribeOn(Schedulers.io())
.compose(activity.bindUntilEvent(ActivityEvent.PAUSE))
.observeOn(AndroidSchedulers.mainThread());
}
(。ちょうどそれを行うために必要なものを反映するために、いくつかのランダムな名前を入れて、オブジェクトの命名を気にしないでください)
I:
は、私は次のコードを得ましたユニットテストを実行して、関連するコードをテストしてください。しかし、これらの部分には.compose()
メソッドが含まれていません。 は、今私は次のことを試してみました:
lifecycle == null
(私はそれをデバッグする場合、それはです):
@Mock
private BaseActivity baseActivity;
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
}
と
private BaseActivity baseActivity;
@Before
public void setup() {
baseActivity = Mock(BaseActivity.class);
}
これらの状況の両方が私にNULLポインタを与えます。
これを他の方法で模擬したりテストしたりするにはどうすればよいですか? (また、私は完全にコン()メソッドを理解していない。しかし、私は、このコードに関連するすべてのリソースを見つけるように見えるカント)
(それは問題ではありませんので、私は、AndroidとRxJavaスケジューラを提供しました)ありがとう!
あなたはユニットテスト活動している場合、私はまたrobolectricを示唆している実際の活動にスパイを考慮したユニットテスト自体はないですか。 –
私は、このサンプルプロジェクトでさまざまなタイプの単体テストを行っています。助けてくれることを願っています:http://github.com/mmirhoseini/fyber_mobile_offers –
しかし私は私の活動をテストしたくありません。このメソッドが正しいDTOでレスポンスを持つobservableを返すのであれば、これは何の関係もないので、私はそのアクティビティを馬鹿にしたいのですが、おそらく私はcompose()メソッドを理解できませんか? – Clemenz