ウェブソケット接続をテストしようとしています。そこで私は、WebSocketを介して送信されるデータをテストすることができるかどうかだけ確認するためにダミーのコードのこの種に私を導いていることを説明するが、いくつかの良いチュートリアルアウト:httpsサーバ用のMochaウェブソケットテスト
私はそうのようにサーバーを設定しているvar socketURL= 'https://localhost:9002';
var io = require('socket.io-client');
options={
transports: ['websocket'],
'force new connection': true
};
describe("Connection test", function(){
it('to check if data is received',function(done){
var client = io.connect(socketURL,options);
client.on('connect',function(){
console.log("in connect");
client.emit('data',{data:10});
client.on('result',function(data){
console.log(data);
data.should.equal(10);
done();
});
});
});
、 OPTIONSは
var app = express();
var httpsServer = https.createServer(OPTIONS, app);
httpsServer.listen(9002);
var io = require('socket.io').listen(httpsServer);
io.on('connection', function(socket){
socket.on('data', function(data){
socket.emit('result',data);
})
})
に問題を読むための鍵と証明書を決定client.on(「接続」)が呼び出されることはありません、私はコンソールにプリントアウトは何もすることで、これを見ることができるということです。すべての場合、タイムアウトエラーが発生します。「2000msのタイムアウトを超えました。このテストでdone()コールバックが呼び出されていることを確認してください。 私はdone()を移動しましたが、それは違いはありません。問題は、私が行ったチュートリアルではHTTPサーバーを使用しているのに対し、HTTPサーバーを使用しているのですが、接続するには追加メソッドが必要になるかもしれないと思いますが、私はモカの新機能です彼らが何であるか知っている。 助けていただければ幸いです