我对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 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;
});
});
});
我遇到的问题是,虽然完成被正确调用(如果我在第一次之后第二次调用,我得到一个错误,它被调用了两次)它似乎没有任何影响。即,测试将在两秒后失败:
Error: timeout of 2000ms exceeded
我对此很新,所以我可能错过了一些简单的事情......
谢谢,奥利维尔
答案 0 :(得分:0)
像往常一样,一旦发布问题,你就会找到答案。
诀窍是在每个测试中调用完成。
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();
});
});
});