Utilice la biblioteca mocha y should para hacer la prueba unitaria de nodejs

    Nodejs es un desarrollo del lado del servidor, también puede hacer pruebas unitarias, pero esta prueba unitaria generalmente es para un determinado archivo o módulo, a menudo vemos que muchos proyectos en github tienen muchos xxx en sus respectivas carpetas. Un archivo como test.js suele ser una prueba unitaria para un módulo xxx.js en la carpeta correspondiente. La prueba de unidad de Nodejs tiene una biblioteca de mocha, él proporciona una descripción y otra sintaxis para hacer la prueba. Además, la biblioteca de aserciones de nodejs proporciona la función de aserción.También puede usar la biblioteca should para hacer aserciones, y la biblioteca dependiente de chai también puede hacer aserciones.

    1. Crear un proyecto nodejs y agregar dependencias

mkdir mochatest
cd mochatest
npm init -y
npm install mocha should -D

    Modifique el comando de prueba en la secuencia de comandos:

{
  "name": "mochatest",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "mocha test.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "mocha": "^7.0.0",
    "should": "^13.2.3"
  }
}

    En segundo lugar, escriba un módulo app.js

const add = (a,b)=>a+b
const sub = (a,b)=>a-b
const reducer = (a)=>a.reduce((x,y)=>x+y,0)
module.exports = {add,sub,reducer}

    Tres, escriba el código de prueba

require("should")
var app = require("./app")
var assert = require("assert")
describe("mocha unit test",function(){
    it("1+2=3",function(){
        app.add(1,2).should.equal(3)
    })

    it("8-5=3",function(){
        app.sub(8,5).should.equal(3)
    })

    it("[1 2 3 4 5].reduce()=15",function(){
        app.reducer([1,2,3,4,5]).should.equal(15)
    })

    it("assert.equal(5,add(2,3))",function(){
        assert.equal(5,app.add(2,3))
    })
    
})

    Cuarto, ejecuta la prueba npm run test

   

    En el ejemplo, deberíamos hacer aserciones en los primeros tres casos de uso. El último ejemplo usa la aserción de nodejs para hacer aserciones. Esta aserción incorporada es similar a la aserción de prueba unitaria que viene con java. Debería ser más fácil de entender. La afirmación de afirmación es muy intuitiva. Generalmente, cuando se hace un juicio igual, se pasan un valor real y un valor esperado. Si los dos son iguales, la prueba de caso de uso pasa y muestra pasar.

    Las pruebas unitarias de Nodejs son mucho más que esto, y hay pruebas de retraso de tiempo de espera establecido, asíncrono, solicitudes de red HTTP, etc., todas tienen habilidades de prueba relacionadas. Solo cuando la prueba unitaria se realiza bien, desarrollaremos más robusto y estable Código Las pruebas de integración posteriores también tendrán menos errores.

529 artículos originales publicados · 287 elogiados · 1.47 millones de visitas

Supongo que te gusta

Origin blog.csdn.net/feinifi/article/details/103972302
Recomendado
Clasificación