これはRxJava Advent Calendar 2016の第12日目の記事です。 RxJavaは非同期処理を扱うライブラリですが、それ故にRxJavaのからむ単体テストは一筋縄でいかないところがあります。この記事と次の記事では、RxJavaでの非同期処理テスト特有の問題と、その解決方法を説明します。なお、基本的に RxJava 1.x を対象としていますが、必要に応じて RxJava 2.x についても触れます。 この記事の続編はこちらになります。 非同期処理の単体テストの難しさ 非同期処理の単体テストは一般に難しいものです。試しに以下のコードを実行してみましょう。 @Test public void testDoSomething() { new AsyncService().doSomething() .subscribe(s -> assertEquals("success",