首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Jest在Nestjs中测试超时拦截器

如何使用Jest在Nestjs中测试超时拦截器
EN

Stack Overflow用户
提问于 2021-04-21 17:44:54
回答 1查看 361关注 0票数 0

我找不到任何关于如何在NestJS中测试拦截器的解释。

请帮我用jest测试一下拦截器?

代码语言:javascript
运行
复制
import { Injectable, NestInterceptor, ExecutionContext, CallHandler, RequestTimeoutException } from "@nestjs/common";
import { Observable, throwError, TimeoutError } from "rxjs";
import { catchError, timeout } from "rxjs/operators";

@Injectable()
export class TimeoutInterceptor implements NestInterceptor {
    constructor(private readonly interval: number) {}

    intercept(_context: ExecutionContext, next: CallHandler): Observable<any> {
        if (this.interval > 0) {
            return next.handle().pipe(
                timeout(this.interval),
                catchError((error) => {
                    if (error instanceof TimeoutError) {
                        return throwError(new RequestTimeoutException(`The operation timed out. `));
                    }
                    return throwError(error);
                }),
            );
        }
        return next.handle();
    }
}
EN

Stack Overflow用户

发布于 2021-04-22 01:05:44

我曾经试图为这个拦截器编写单元测试,但我不喜欢它:/ Look:https://gist.github.com/micalevisk/33d793202541f044d8f5bccb81049b94

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67193257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档