РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗jsnsSpTePi 137 of 201 menu
◀ ▶

Тест канала в Nest

Строка из запроса иногда приходит с лишними пробелами, и канал должен обрезать её до сохранения. Ошибку легко внести в одну строку преобразования, а заметить её через полный HTTP долго.

Канал регистрируют провайдером, достают из контейнера и вызывают transform с тестовым значением. Vitest сравнивает результат с ожиданием без поднятия приложения.

Покажем на примере постов:

import { Injectable, PipeTransform } from '@nestjs/common'; @Injectable() export class TrimPipe implements PipeTransform { transform(value: string): string { return value.trim(); } }

Тест собирает модуль с каналом и проверяет обрезку пробелов:

import { describe, it, expect } from 'vitest'; import { Test } from '@nestjs/testing'; import { TrimPipe } from '../src/trim.pipe.js'; describe('TrimPipe', () => { it('trims spaces', async () => { const moduleRef = await Test.createTestingModule({ providers: [TrimPipe], }).compile(); const pipe = moduleRef.get(TrimPipe); expect(pipe.transform(' note ')).toBe('note'); }); });

Запуск:

npx vitest run test/trim.pipe.spec.ts

Добавьте канал, который приводит имя работника к верхнему регистру, и проверьте преобразование через тестовый модуль.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить