node.js - ReferenceError: description não está definido NodeJs




rest testing (5)

Eu tenho esse erro ao usar "--ui tdd". remova isso ou use o problema de correção "--ui bdd".

Estou tentando definir alguns pontos de extremidade e fazer um teste usando o nodejs . No server.js eu tenho:

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);

e no func1.js :

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

Agora no test.js , estou tentando usar este ponto de extremidade:

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();
                });
        });
});

Mas quando executo o node test.js , estou recebendo este erro:

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

Como posso corrigir o problema?


O OP perguntou sobre a execução no node não no mocha . Este é um caso de uso muito comum, consulte Usando o Mocha programaticamente

Isto é o que injetado descreve e em meus testes.

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

Eu tentei tdd como nos documentos, mas isso não funcionou, o bdd funcionou.


Supondo que você esteja testando via mocha , é necessário executar seus testes usando o comando mocha vez do executável do node .

Portanto, se você ainda não o fez, certifique-se de npm install mocha -g . Em seguida, basta executar o mocha no diretório raiz do seu projeto.


Use qualquer estrutura de teste Javascript para executá-lo

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


se você estiver usando o vscode, deseja depurar seus arquivos

Eu usei tdd antes, ele lança ReferenceError: describe is not defined

Mas, quando eu uso o bdd , funciona!

desperdice meio dia para resolvê-lo ....

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