ReferenceError:描述未定义NodeJs

我正在尝试定义一些端点并使用进行测试nodejsserver.js我有:

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

并在func1.js

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

现在,test.js我正在尝试使用此端点:

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

但是,当我运行node test.js时,出现此错误:

describe('Account',function(){
^

ReferenceError:描述未定义
    在对象。(/test/test.js:9:1)
    在Module._compile(module.js:456:26)
    在Object.Module._extensions..js(module.js:474:10)
    在Module.load(module.js:356:32)
    在Function.Module._load(module.js:312:12)
    在Function.Module.runMain(module.js:497:10)
    在启动时(node.js:119:16)
    在node.js:906:3

我该如何解决该问题?

Near西里2020/04/03 10:32:48

假设您通过进行测试mocha,则必须使用mocha命令而不是node可执行文件运行测试

因此,如果您还没有这样做,请确保您已这样做npm install mocha -g然后,只需mocha在项目的根目录中运行即可。

老丝阿飞2020/04/03 10:32:48

如果您使用的是vscode,则要调试文件

tdd以前用过ReferenceError: describe is not defined

但是,当我使用时bdd,它有效!

浪费半天时间解决...

    {
      "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"
},
LGil2020/04/03 10:32:48

使用“ --ui tdd”时出现此错误。删除此问题或使用“ --ui bdd”修复问题。