ngOnInit() {
let value = this.fun1(a, true);
this.c = value;
this.subscription = this.service.getObserver().subscribe((data:any) => {
value = this.fun1(data, false);
this.c = value;
});
}
fun1(input1, input2) {
if(input2) return input1;
else return 0;
}
Я пытаюсь протестировать приведенный выше код, я могу легко протестировать fun1. Я хочу проверить, имеет ли c правильное значение, когда getObserver () отправляет новые данные. Чтобы сделать это, я сделал следующий код.
it('should have a right c value', function(done) {
inject([service], (service: Service) => {
service.getObserver().subscribe((data: any) => {
expect(component.c).toEqual(0)
done();
});
})();
});
, но я обнаружил, что он по-прежнему вызывает fun1 (3, true), а не fun1 (3, false), честно говоря, я не знаю, как это вычислить если кто-нибудь знает, что именно означает этот тест и как проверить следующую часть?
this.subscription = this.service.getObserver().subscribe((data:any) => {
value = this.fun1(data, false);
this.c = value;
});