为了账号安全,请及时绑定邮箱和手机立即绑定

为 HttpClient 帖子创建间谍会创建返回值错误

为 HttpClient 帖子创建间谍会创建返回值错误

梦里花落0921 2023-02-24 10:41:03
我有一个将HttpClient服务作为值的服务,我想监视post那个类的方法,所以我创建了一个看起来像这样的间谍:spyOn(httpClient, 'post').and.returnValue(() => new Subject<any>().asObservable());但是,我收到以下错误:Argument of type '() => Observable<any>' is not assignable to parameter of type 'Observable<unknown>'.  Type '() => Observable<any>' is missing the following properties from type 'Observable<unknown>': _isScalar, source, operator, lift, and 6 more.这是它来自的规范:describe('GraphQLClientService', () => {  let service: GraphQLClientService;  let httpClient: HttpClient;  let postSpy: any;  beforeEach(() => {    httpClient = jasmine.createSpyObj('HttpClient', []);    postSpy = spyOn(httpClient, 'post').and.returnValue(() => new Subject<any>().asObservable());    service = new GraphQLClientService(httpClient);  });});
查看完整描述

1 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

您正在返回一个函数,该函数返回一个 Observable 而不仅仅是一个 Observable

postSpy = spyOn(httpClient, 'post').and.returnValue(new Subject<any>().asObservable());

或者

postSpy = spyOn(httpClient, 'post').and.returnValue(of({}));


查看完整回答
反对 回复 2023-02-24
  • 1 回答
  • 0 关注
  • 80 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信