Когда мы пишем наш новый проект Node.js с использованием TypeScript или обновляем существующий код JavaScript до TypeScript, полезно знать, как мы можем писать модульные тесты на машинописном языке.
Предпосылка
Установите
jest
иtypescript
в свой проект, выполнив следующую команду:npm i -D jest typescript
Шаг 1
Установите
ts-jest
и@types/jest
в свой проект, выполнив следующую команду:npm i -D ts-jest @types/jest
Шаг 2
Создайте файл конфигурации с именем
jest.config.js
на том же уровне, что иpackage.json
, выполнив следующую команду:npx ts-jest config:init
Файл должен иметь следующий код:
module.exports = { preset: "ts-jest", testEnvironment: "node" };
Добавить команду сборки
Вы можете просмотреть эту статью, чтобы настроить проект с нуля в машинописном тексте.
Затем нам нужна команда в нашем package.json
, чтобы npm
знал, как построить проект.
Поэтому мы добавляем следующую команду в package.json
.
... "scripts": { "build": "tsc" ...
создайте файл index.ts и добавьте функцию простого добавления
export const add = (x: number, y: number): number => (x+y);
Напишите тестовый пример для функции добавления
Создайте файл index.spec.ts. Теперь нам просто нужно написать тестовый пример, чтобы проверить, возвращается ли определенный результат при сложении двух чисел с помощью нашей функции.
import { add } from "./index.ts"; describe("test add function", () => { it("should return 15 for add(10,5)", () => { expect(add(10, 5)).toBe(15); }) ;it("should return 5 for add(2,3)", () => { expect(add(2, 3)).toBe(5); }); });
После этого мы просто выполняем следующую команду:
npm test
В нашем случае jest
найдет все тест-файлы с паттерном *.spec.ts
, выполнит их и выведет результат в консоль. В нашем случае все тест-кейсы пройдены.
Точно так же вы написали свой самый первый модульный тест на машинописном языке, используя шутку. это не так много, но эй, это начало!