2Completable
つの異なるスレッドで同時に実行され、共有リソースにアクセスする 2 つの があります。最初のコードのみが特定のコードを実行し、2 番目のコードはエラーで終了するように、動作をテストしたいと考えています。
Scheduler.trampoline()
テストで使用しているため、2 つCompletable
の s を同時に実行することはできませんが、順番に実行し、そのコードを単体テストすることはできません。
例、
val subscription = userRepository.logout().test()
val subscriptionSimultaneous = userRepository.logout().test()
subscription
.assertNoErrors()
.assertComplete()
subscriptionSimultaneous
.assertError(someError)
.assertNotComplete()
verify(exactly = 1) { somethingThatMustRunOnlyOnce() }