我正在寻找关于Nestjs
中的拦截器进行单元测试的一些见解,请对我对单元测试的了解还不够,因为我对它们还是很陌生,所以请随时解释似乎更确切的概念琐碎,尽管如此我还是会感激的!
仅出于这个问题,我将从Nestjs
文档中借用代码,尤其是LoggingInterceptor
,因为这是我在项目中实现的代码。
import { Observable } from 'rxjs';
import { tap } from 'rxjs/operators';
@Injectable()
export class LoggingInterceptor implements NestInterceptor {
intercept(context: ExecutionContext, next: CallHandler): Observable<any> {
console.log('Before...');
const now = Date.now();
return next
.handle()
.pipe(
tap(() => console.log(`After... ${Date.now() - now}ms`)),
);
}
}
在设置一个简单的单元测试中,我多次尝试并失败了,该测试仅显示两次调用console.log
,一次调用next
,之后调用一次。
答案 0 :(得分:0)
您可以通过以下方式轻松为记录器拦截器创建单元测试:
const headers = Array.from(output.querySelectorAll('.card-heading'))
dataSet.forEach((p, index) => headers[index].appendChild(p.svg))