В этой серии вы узнаете, как создавать и проверить API спокойного с Nodejs, Express и Mongoose, используя TDD подход . Вы также узнаете, как архитектировать ваше приложение, управляемое API с нуля, используя Слоистую архитектуру подход. В конце этой серии вы будете более уверены в написании кода, используя подход TDD.
Предварительные условия:
Чтобы следовать в этом уроке, вам необходимо иметь базовые знания JavaScript, Nodejs & Express, а также хорошее знание того, как работает Restful API.
Значение терминов
– Разработка на основе тестирования (TDD)
Разработка тестирования (TDD)-это метод разработки, в которой вы должны сначала написать тест, который не сбоится перед написанием нового функционального кода. TDD быстро внедряется разработчиками программного обеспечения Agile для разработки исходного кода приложения и даже принимается Agile DBA для разработки баз данных.
– Шутка
Jest – это структура тестирования JavaScript, поддерживаемая Facebook, Inc., разработанная и созданная Кристофом Наказавой, с акцентом на простоту и поддержку больших веб -приложений. Он работает из коробки с минимальной конфигурацией, хотя есть и другие структуры тестирования, я считаю, что шутка легко следовать. Вы можете погрузиться глубже, прочитав официальный документ здесь
– Монгуз
Mongoose предоставляет прямое, основанное на схеме решение для моделирования данных вашего приложения. Он включает в себя встроенное литье типа, проверку, строительство запросов, крючки для бизнеса и многое другое, из коробки, написанных для связи с базой данных MongoDB. Вы можете прочитать о Mongoose Здесь и mongodb также Здесь Анкет
Теперь, когда мы знакомы с технологиями, с которыми мы будем работать во время создания нашего API, давайте посмотрим на наш обзор проекта.
- Создайте спокойный API
- Тестирование конечных точек с использованием шутки
- Настройте Jest для автоматического запуска теста
- Структура папки
- Шаблон MVC (модель, просмотр, контроллер)
- Многослойная архитектура
Далее, давайте продолжим создавать нашу среду разработки. Скопировать вставка кода ниже в терминале для пользователей Mac и командной строки для пользователей Windows, чтобы настроить новый каталог проектов.
$ mkdir tdd-with-nodejs $ cd tdd-with-nodejs $ npm init -y
Если у вас все настроено правильно, вы должны получить результат ниже:
{ "name": "tdd-with-nodejs", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC" }
Далее, давайте установим необходимые зависимости для разработки нашего проекта. В вашем терминале CD в корневом каталоге вашего проекта и копируйте код ниже:
$ npm i --save-dev express mongoose jest
Ваш Package.json Файл теперь должен выглядеть как код ниже:
{ "name": "tdd-with-nodejs", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "jest", "start": "nodemon index.js" }, "keywords": [], "author": "", "license": "ISC", "devDependencies": { "express": "^4.17.1", "jest": "^26.6.3", "mongoose": "^5.11.9" }, "dependencies": { "body-parser": "^1.19.0", "dotenv": "^8.2.0", "nodemon": "^2.0.6" } }
Теперь, когда мы все настроены, давайте создадим файл с именем sum.js С помощью функции, названной суммой, которая суммирует значение, передаваемое его параметрам (a, b), мы затем продолжим создавать »sum.test.js **. Чтобы проверить вывод функции. Они помогут нам подтвердить нашу настройку Jest.
Примечание: Шуть за смыслом прочитать файл тестирования в тестовой папке. Так что хорошо, чтобы поместить ** sum.test.js * Файл в тестовой папке. *
Создайте файл sum.js в корне вашего каталога проекта и скопируйте код ниже в файл:
const sum = (a, b) =>{ return a + b; } module.exports = sum;
Создайте новую папку с именем теста, перейдите в папку, создайте файл с именем sum.test.js и скопируйте код ниже в файл, чтобы создать тест на фестиваль:
const sum = require("../sum"); test('adds 2 + 2 to equal 4', () =>{ expect(sum(2,2)).toBe(4); });
Первый тест:
Откройте свой терминал и CD в корневом каталоге вашего проекта и скопируйте код ниже, чтобы запустить первый тест:
$ npm run test
Если у вас есть все, что настроено правильно, вы должны иметь аналогичный результат на скриншоте ниже:
Поздравляю, вы просто успешно написали свой первый тест, используя Jest! Это все для [Часть I] этого урока, увидимся в [Часть II] , где мы будем строить конечные точки API, используя подход слоистой архитектуры.
Оригинал: “https://dev.to/eaetukudo/test-driven-development-with-nodejs-express-mongoose-jest-1l42”