Рубрики
Без рубрики

Тестовая разработка с Nodejs, Express, Mongoose & Jest

Введение В этой серии вы узнаете, как создавать и проверить API RESTFUL с Nodej … Tagged с помощью MongoDB, узла, JavaScript, тестирование.

В этой серии вы узнаете, как создавать и проверить 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”