Как выполнить модульное тестирование Nest Interceptor - PullRequest
0 голосов
/ 13 февраля 2020

Я ищу некоторое представление о модульном тестировании перехватчика в 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 и один раз после.

...