www whatwg spec que org español java rx-java rx-java2

java - whatwg - ¿Hay algo como Single.empty()



www w3 org español (2)

Una solución por ejemplo para pruebas sería

Observable.<Whatever>empty().toSingle()

tenga en cuenta que esto no llama a los suscriptores en absoluto.

Estoy en el proceso de migrar de Rx 1 a Rx 2 y de repente, mientras leía las publicaciones, descubrí que Single debería ser el tipo de observable que se debe usar para las llamadas de modificación.

Así que decidí darle una oportunidad y mientras migraba nuestras llamadas de actualización a Rx 2, también cambié el valor de retorno a Single<whatever> .

Ahora el problema es que algunas de nuestras pruebas se burlan de los servicios de red algo similar a:

when(userService.logout()).thenReturn(Observable.empty())

Como puede ver, antes de migrar las llamadas que usamos para simplemente completar la transmisión, le userService al userService simulacro que devuelva un observable vacío.

Al migrar a la "versión" de Single de las llamadas, ya no podemos usar Observable.empty() porque la llamada no devuelve un Observable , sino que devuelve un Single .

Terminé haciendo algo como:

when(userService.logout()).thenReturn( Single.fromObservable(Observable.<whatever>empty()))

Mis preguntas son:

  1. ¿Hay una mejor manera de hacer esto?
  2. ¿Me estoy perdiendo algo importante que debería saber? Algo así no se comporta como yo esperaba.

Single.empty() no tiene sentido porque Single debe tener un solo elemento o un error. Podría haber mantenido Observable o cambiado a Maybe lo que permite el uso de un elemento vacío o Completable que no emite ningún elemento.