ReferenceError: describe no está definido NodeJs

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 intentando 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 node test.js este error:

 describe ('Cuenta', función () {
 ^

 ReferenceError: describe no está definido
     en Object.  (/test/test.js:9:1)
     en Module._compile (module.js: 456: 26)
     en Object.Module._extensions..js (module.js: 474: 10)
     en Module.load (module.js: 356: 32)
     en Function.Module._load (module.js: 312: 12)
     en Function.Module.runMain (module.js: 497: 10)
     al inicio (node.js: 119: 16)
     en node.js: 906: 3

¿Cómo puedo solucionar el problema?

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

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

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 instalar una biblioteca de afirmación ( npm install chai --save-dev )

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

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

• 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

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

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

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

 npm test 

También puedes hacer esto:

  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

OP preguntó acerca de la ejecución de node no de mocha . Este es un caso de uso muy común, vea Usar el progtwig de Mocha

Esto es lo que se inyectó y lo describe en mis pruebas.

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

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