マットのTidbitsは、79


Last week, I gave a quick update on an existing tidbit. 約束通り、今週はRXLifeCycleについてのちょっとした説明があります.
私が現在働いているアプリケーションはrxlifecycleを使います:https://github.com/trello/RxLifecycle
それはきちんとした概念だ - RXを使わなければならない代わりにCompositeDisposable あなたのサブスクリプションをきれいにするオブジェクトは、あなたの購読を自動的にキャンセルするために特別なRXオペレーターを使用することができますあなたの人造人間表示(断片、活動など)が特定のライフサイクル状態に移行するとき
observable
.compose(view.bindUntilEvent(ActivityEvent.PAUSE))
.subscribe()
RXLifeCycleいくつかの奇妙なている - コールしないunsubscribe() , RXストリームの種類に応じて(完了、単一、および多分型は本当にunsubscribingの代わりにエラーを発する) - これはあなたのRXストリームによって放射されるかもしれない特定の種類のエラーを無視しなければならないあなたのアプリケーションの特別なエラー処理コードにつながります.
しかし、私の意見では、RXLifeCycleに関する最悪の部分は、それが本当に単位テストに難しいということです.ITSbindUntilEvent メソッドは、最終クラスを返します.LifecycleTransformer (インターフェースの代わりに)Powermockのようなものを使って振る舞いをオーバーライドしなければならない.
I've written before Powermockを使用しない理由について.これはおそらくrxlifecycleは最良の選択ではないことを納得させるために十分である必要があります.
しかし、まだ続けているなら、RXLifeCycleの作者からこの記事を読んでください.
https://blog.danlew.net/2017/08/02/why-not-rxlifecycle/
私はPowermockを使用せずにユニットテストRXLifeCycleに良い方法を考え出す場合は、私は間違いなくあなたが知っているよ!今のところ、私は手動で私の消耗品を管理するために切り替えています.
あなたはPowermockを必要としないユニットテストRXLifeCycleへの道を知っていますか?以下のコメントで私に知らせてください!そして、将来のTidbitsの通知に興味があるならば、媒体で私について来てください.
当初は2020年8月14日に納入された.