Pruebas unitarias de Node.js y WebSockets (Socket.io)

¿Alguien podría proporcionar una prueba unitaria sólida y simple para Node.js mediante WebSockets (Socket.io)?

Estoy usando socket.io para Node.js, y he buscado en socket.io-client para establecer la conexión del cliente con un servidor en la prueba. Sin embargo, parece que me falta algo.

En el siguiente ejemplo, "trabajado ..." nunca se imprime.

var io = require('socket.io-client')
, assert = require('assert')
, expect = require('expect.js');

describe('Suite of unit tests', function() {

    describe('First (hopefully useful) test', function() {

        var socket = io.connect('http://localhost:3001');
        socket.on('connect', function(done) {
            console.log('worked...');
            done();
        });

        it('Doing some things with indexOf()', function() {
            expect([1, 2, 3].indexOf(5)).to.be.equal(-1);
            expect([1, 2, 3].indexOf(0)).to.be.equal(-1);
        });

    });
});

En su lugar, simplemente obtengo:

  Suite of unit tests
    First (hopefully useful) test
      ✓ Doing some things with indexOf() 


  1 test complete (26 ms)

¿Alguna sugerencia?

Respuestas a la pregunta(4)

Su respuesta a la pregunta