如何在 Angular 中返回可观察的模拟值

Posted

技术标签:

【中文标题】如何在 Angular 中返回可观察的模拟值【英文标题】:How to return observable mock value in Angular 【发布时间】:2021-06-06 13:03:20 【问题描述】:

我正在使用下面的代码调用 API,它工作正常。现在我不想调用 API 而只是返回一个真值。当我返回真正的抛出错误时

export interface EmployeeStatus
  hasActive: boolean;



 public getStatus(Id: number): Observable<EmployeeStatus> 
     return true;
      //return this.http.get<EmployeeStatus>(`APIurl`);
  

【问题讨论】:

return of(true) - rxjs.dev/api/index/function/of 这能回答你的问题吗? How to return value as an observable in angular 6 查看***.com/a/39032365/11013049 @ZuhairNaqi 一个空的 observable 是不同的——它可以在不发射的情况下完成。 【参考方案1】:

我已经为自定义模式解决了如下问题。

public getStatus(Id: number): Observable<EmployeeStatus> 
     const employeeStatus=hasActive:true
      return of(employeeStatus)
  

【讨论】:

以上是关于如何在 Angular 中返回可观察的模拟值的主要内容,如果未能解决你的问题,请参考以下文章

使用jasmine.SpyObj-Angular / Jasmine测试服务属性上的可观察对象

如何在茉莉花中为可观察的 finally 块编写单元测试 - Angular 2

Angular2 中组件属性变化的可观察性

如何在Angular 2中每次路由更改时观察路由更改和布尔变量的更改值?

单元测试:为了测试值随时间的变化而返回可观察数据以返回主题的模拟服务导致TS抛出TS2339

如何在 Angular 单元测试中模拟/监视导入的函数