ReferenceError: describir no está definido NodeJs

Resuelto N34 asked hace 9 años • 9 respuestas

Estoy intentando definir algunos puntos finales y hacer una prueba usando nodejs. En server.jstengo:

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 test.jsestoy intentando utilizar 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.jsme sale este error:

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

Error de referencia: la descripción no está definida
    en Objeto. (/prueba/prueba.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 nodo.js:906:3

¿Cómo puedo solucionar el problema?

N34 avatar Feb 09 '15 06:02 N34
Aceptado

Suponiendo que está realizando pruebas a través de mocha, debe ejecutar las pruebas utilizando el mochacomando en lugar del nodeejecutable.

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

mscdex avatar Feb 08 '2015 23:02 mscdex

Si estás usando vscode, quieres depurar tus archivos.

Lo usé tddantes, tiraReferenceError: describe is not defined

Pero cuando lo uso bdd, ¡funciona!

Pierdo medio día para solucionarlo....

    {
      "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"
},
weichao avatar Apr 19 '2019 11:04 weichao