TDD (Test Driven Development) Entwicklung in Nodejs mit Mongodb & Express.

Blog

TDD (Test Driven Development) Entwicklung in Nodejs mit Mongodb & Express.



Einführung

Testgetriebene Entwicklung (TDD) ist ein evolutionärer Entwicklungsansatz, der die Test-First-Entwicklung kombiniert, bei der Sie einen Test schreiben, bevor Sie gerade genug Produktionscode schreiben, um diesen Test zu erfüllen, und Refactoring . Einfach ausgedrückt werden Testfälle erstellt, bevor Code geschrieben wird.

Bei diesem Ansatz verwenden wir Express als Backend-Server und mongo-db als Datenbank.



Quickbooks Druck- und PDF-Reparaturwerkzeug Windows 10

Zu Testzwecken verwenden wir Mokka & Keller .

Mocha: Mocha ist ein funktionsreiches JavaScript-Test-Framework, das auf läuft Node.js und im Browser, wodurch asynchrones Testen einfach und unterhaltsam wird.



Cha**i:**Chai ist eine BDD/TDD-Assertion-Bibliothek für Knoten und der Browser, der sich wunderbar mit jedem Javascript-Test-Framework kombinieren lässt.


Voraussetzungen

  • ausdrücken
  • Mongodb
  • Verständnis der Ruhe-API
  • Idee für die Arbeit in der Backend-Technologie.

Projektaufbau

Bevor wir mit der Entwicklung unserer eigentlichen API beginnen, müssen wir den Ordner und den Endpunkt einrichten. Erstellen Sie einen Projektordner mit dem Namen tddapp .

Initialisieren des Projektordners zum Einrichten der package.json

npm init

In einem Softwareprojekt gibt es keinen perfekten Weg, um eine Anwendung zu strukturieren. Schau dir das an GitHub Repository für die in diesem Tutorial befolgte Ordnerstruktur.


Abhängigkeiten installieren


Arbeiten an Rest Api

Lassen Sie uns eine erstellen Modelle Ordner im Stammordner Ihrer Anwendung. In diesem Tutorial verwenden wir Modelle, um die Schemas zu erstellen.

_Benutzer.js _ :

const mongoose = require('mongoose') const Schema = mongoose.Schema; const { userImage } = require('../config/DefaultUserImage'); const authFunctions = require('../helper/authFunctions'); const userSchema = new Schema({ name: { type: Schema.Types.String, required: true, }, email: { type: Schema.Types.String, unique: true }, password: { type: Schema.Types.String, required: true }, address: { type: Schema.Types.String, required: true, }, education_qualification: { type: Schema.Types.String, required: true, }, dob: { type: Schema.Types.Date, required: true, }, job_title: { type: Schema.Types.String, required: true, }, photo: { type: Schema.Types.String, required: false, default: userImage }, contact_number: { type: Schema.Types.Number, required: true, }, }, { timestamps: true }) const User = mongoose.model('users', userSchema) module.exports = { getUsers: () => User.find(), storeUser: async userData => { const hashPassword = await authFunctions.createPassword(userData.password) const user = { name: userData.name, email: userData.email, password: hashPassword, address: userData.address, contact_number: userData.contact_number, education_qualification: userData.education_qualification, dob: userData.dob, job_title: userData.job_title } return new User(user).save(); }, updateUser: (userData, userId) => User.findByIdAndUpdate(userId, userData), findUserById: userId => User.findById(userId), findUserByEmail: userEmail => User.findOne({ email: userEmail }).exec(), deleteUser: userId => User.findByIdAndRemove(userId), removeUsers: () => User.deleteMany() }

#api-testing #apitestinginnode #tddwithnode #mocha #nodejs

medium.com

TDD (Test Driven Development) Entwicklung in Nodejs mit Mongodb & Express.

Testgetriebene Entwicklung (TDD) ist ein evolutionärer Entwicklungsansatz, der Test-First-Entwicklung kombiniert, bei der Sie einen Test schreiben, bevor Sie gerade genug Produktionscode schreiben, um diesen Test und Refactoring zu erfüllen. Einfach ausgedrückt werden Testfälle erstellt, bevor Code geschrieben wird.