test spec nodejs node example before node.js rest testing

node.js - spec - ReferenceError: describe no está definido NodeJs



node test before (7)

Estoy tratando de definir algunos puntos finales y hacer una prueba usando nodejs . En server.js tengo:

var express = require(''express''); var func1 = require(''./func1.js''); var port = 8080; var server = express(); server.configure(function(){ server.use(express.bodyParser()); }); server.post(''/testend/'', func1.testend);

y en func1.js :

var testend = function(req, res) { serialPort.write("1", function(err, results) { serialPort.write("2" + "/n", function(err, results) { }); }); }); exports.testend = testend;

Ahora en test.js estoy tratando de usar este punto final:

var should = require(''should''); var assert = require(''assert''); var request = require(''supertest''); var http = require(''http''); var app = require(''./../server.js''); var port = 8080; describe(''Account'', function() { var url = "http://localhost:" + port.toString(); it(''test starts'', function(done) { request(url).post(''/testend/'') // end handles the response .end(function(err, res) { if (err) { throw err; } res.body.error.should.type(''string''); done(); }); }); });

Pero cuando ejecuto el node test.js este error:

describe(''Account'', function() { ^ ReferenceError: describe is not defined at Object. (/test/test.js:9:1) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16) at node.js:906:3

¿Cómo puedo solucionar el problema?


OP preguntó acerca de la ejecución desde el node no desde mocha . Este es un caso de uso muy común, consulte Uso de Mocha de forma programada

Esto es lo que inyecté y lo describí en mis pruebas.

mocha.ui(''bdd'').run(function (failures) { process.on(''exit'', function () { process.exit(failures); }); });

Intenté tdd como en los documentos, pero eso no funcionó, aunque bdd funcionó.


Para ejecutar pruebas con node / npm sin instalar Mocha globalmente, puede hacer esto:

• Instale Mocha localmente en su proyecto ( npm install mocha --save-dev )

• Opcionalmente, instale una biblioteca de aserciones ( npm install chai --save-dev )

• En su package.json , agregue una sección para scripts y apunte al binario mocha

var expect = require(''chai'').expect;

• Coloque sus archivos de especificaciones en un directorio llamado /test en su directorio raíz

• En sus archivos de especificaciones, importe la biblioteca de aserciones

npm test

• No necesita importar mocha, ejecutar mocha.setup o llamar a mocha.run()

• Luego ejecute el script desde la raíz de su proyecto:

{ "type": "node", "request": "launch", "name": "Mocha Tests", "program": "${workspaceFolder}/node_modules/mocha/bin/_mocha", "args": [ "-u", "bdd",// set to bdd, not tdd "--timeout", "999999", "--colors", "${workspaceFolder}/test/**/*.js" ], "internalConsoleOptions": "openOnSessionStart" },


Suponiendo que está probando a través de mocha , debe ejecutar sus pruebas utilizando el comando mocha lugar del node ejecutable.

Entonces, si aún no lo ha hecho, asegúrese de hacer npm install mocha -g . Luego, simplemente ejecute mocha en el directorio raíz de su proyecto.


También puedes hacer así:

var mocha = require(''mocha'') var describe = mocha.describe var it = mocha.it var assert = require(''chai'').assert describe(''#indexOf()'', function() { it(''should return -1 when not present'', function() { assert.equal([1,2,3].indexOf(4), -1) }) })

Referencia: http://mochajs.org/#require


Tengo este error cuando uso "--ui tdd". eliminar esto o usar el problema de solución "--ui bdd".


Use cualquier marco de prueba de Javascript para ejecutarlo

npm install jest -g jest ./**/**/demo.spec.js

npm install mocha -g mocha ./**/**/demo.spec.js

npm install jasmine-node -g jasmine-node ./**/**/demo.spec.js


si está usando vscode, desea depurar sus archivos

Solía tdd antes, arroja ReferenceError: describe is not defined

Pero, cuando uso bdd , ¡funciona!

perder medio día para resolverlo ...

"scripts": { "test": "node ./node_modules/mocha/bin/mocha" }