1

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() }
4

1 に答える 1