Angular 10-HttpInterceptor单元测试扩展

问题描述

我已经花了很长时间尝试测试以下拦截器,但是没有运气。

@Injectable()
export class PaginationInterceptor implements HttpInterceptor {

  constructor() {}

  intercept(request: HttpRequest<unkNown>,next: HttpHandler): Observable<HttpEvent<unkNown>> {
    if (!request.url.includes('https://myurl.com/api')) {
      return next.handle(request);
    }

    return next.handle(request).pipe(
      filter(event => event instanceof HttpResponse),expand((prevIoUs: HttpResponse<any>,index) => {
        if (!prevIoUs.body.next) {
          return empty();
        }

        return this.intercept(request.clone({ url: prevIoUs.body.next }),next);
      }),);
  }
}

我如何断言:

  1. URL是否为example.com代码是否退出
  2. 响应具有next属性时,请求是否得到扩展?
  3. 当响应没有next时,它不会扩展吗?

谢谢:)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...