spyOn 可观察计时器不可能 - 'string' 类型的参数不可分配给 'never' 类型的参数

spyOn Observable timer not possible - Argument of type 'string' is not assignable to parameter of type 'never'

我收到错误

Argument of type 'string' is not assignable to parameter of type 'never'.

当试图像这样监视 timer 时:

it('should start a timer', async () => {
  spyOn(Observable, 'timer');
});

导入语句:

import { Observable } from 'rxjs';

知道为什么吗?

这是 TypeScript 告诉你你试图监视的东西有问题。

来自@types/jasmine

declare function spyOn<T>(object: T, method: keyof T): jasmine.Spy;

在检查您的代码时,TypeScript 会尝试解析第二个参数的类型:keyof Observable。这正在解析为 never,似乎是因为 Observable(当您导入它时)没有可由 keyof.

提取的密钥