У меня есть простой модульный тест, который использует Заменить. js (также пробовал это с TypeMoq mocks и поведение, которое я опишу то же самое).
В этом тесте я пытаюсь выполнить простейшую вещь, используя оператор of
для испускания макета объекта. Без дальнейших операторов обратный вызов подписки никогда не вызывается. Пример:
import {Arg, Substitute, SubstituteOf} from "@fluffy-spoon/substitute";
import "reflect-metadata";
import {Observable, of} from "rxjs";
const factory = Substitute.for<MessageFactory>();
of(factory).subscribe((f) => console.log("got it"));
Журнал консоли никогда не вызывается.
Теперь, если я не использую оператор и просто создаю наблюдаемое, журнал работает. Пример:
import {Arg, Substitute, SubstituteOf} from "@fluffy-spoon/substitute";
import "reflect-metadata";
import {Observable, of} from "rxjs";
const factory = Substitute.for<MessageFactory>();
new Observable((subscriber) => {
subscriber.next(factory);
subscriber.complete();
}).subscribe((f) => console.log("got it"));
Есть какие-нибудь подсказки о том, что происходит с оператором of
в этом случае?
Я использую:
- rx js: 6.5.4
- машинопись: 3.5.3
- узел: v10.18.1