Node.js “完成方法”;“忽略”;在之前的mochajs测试中
我有一个web套接字客户端包装器的单元测试。以下是测试代码:Node.js “完成方法”;“忽略”;在之前的mochajs测试中,node.js,mocha.js,Node.js,Mocha.js,我有一个web套接字客户端包装器的单元测试。以下是测试代码: describe('server', function(){ var server; beforeEach(function(done) { server = new Server(function() { //try to connect to the server on the expected port var socket = new WebSoc
describe('server', function(){
var server;
beforeEach(function(done) {
server = new Server(function() {
//try to connect to the server on the expected port
var socket = new WebSocket('ws://localhost:8081');
});
server.wss.on('connection', function(client) {
server.wss.close();
done();
});
});
describe('#server', function(){
it('starts a server on a given port', function(done) {
var test = 1;
test.should.be.ok;
});
});
});
我遇到的问题是,虽然正确地调用了done(如果我在第一次调用done之后第二次调用done,我会得到一个错误,它被调用了两次),但它似乎没有任何效果。也就是说,测试将在两秒钟后失败,原因是:
Error: timeout of 2000ms exceeded
我是个新手,所以我可能错过了一些简单的
谢谢,olivier像往常一样,一旦你发布了问题,你就会找到答案 诀窍是在每个测试中调用done
describe('server', function(){
var server;
beforeEach(function(done) {
server = new Server(function() {
//try to connect to the server on the expected port
var socket = new WebSocket('ws://localhost:8081');
});
server.wss.on('connection', function(client) {
server.wss.close();
done();
});
});
describe('#server', function(){
it('starts a server on a given port', function(done) {
var test = 1;
test.should.be.ok;
=====> done();
});
});
});