我正在尝试定义一些端点,并使用一个测试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
:
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:describe没有定义
在对象。(/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
我该如何解决这个问题?
发布于 2018-02-02 13:38:22
假设你正在测试通过mocha
,你必须运行你的测试使用mocha
命令而不是node
可执行文件。
所以,如果你还没有,请确保你这样做npm install mocha -g
。然后运行mocha
你的项目的根目录。
发布于 2018-02-02 14:55:34
要运行node / npm测试而不在全局安装Mocha,可以这样做:
•将Mocha本地安装到你的项目(npm install mocha --save-dev
)
•可选择安装断言库(npm install chai --save-dev
)
在你的package.json
,添加一个部分scripts
和目标的摩卡二进制
"scripts": {
"test": "node ./node_modules/mocha/bin/mocha"
}
把你的spec文件放到你/test
的根目录下的一个目录中
•在你的规格文件中,导入断言库
var expect = require('chai').expect;
然后从你的项目根目录运行脚本:
npm test
https://stackoverflow.com/questions/-100007298
复制相似问题