我正在尝试定义一些端点并使用进行测试nodejs。在server.js我有:
nodejs
server.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:
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我正在尝试使用此端点:
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时,出现此错误:
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
我该如何解决该问题?
假设您通过进行测试mocha,则必须使用mocha命令而不是node可执行文件运行测试。
mocha
node
因此,如果您还没有这样做,请确保您已这样做npm install mocha -g。然后,只需mocha在项目的根目录中运行即可。
npm install mocha -g