Eu suspeito que você não está realmente ligando test.done()
Nesse segundo teste. Colocar uma console.log()
Ligue lá para verificar você está realmente fazendo essa chamada.
FWIW, eu reproduzi o problema descrito usando uma versão simplificada do seu teste, abaixo. Se você omitir o on('error', function() {...})
Manipulador, então o 2º teste falha na conclusão. Assim, minha teoria é que o seu /push
O endpoint está desencadeando um comportamento diferente no módulo Restify. Ou seja, você é claro Restify está invocando seu retorno de chamada com um err
propriedade lá, ou está fazendo algo diferente? ... como, por exemplo, emitindo um evento como http.get
abaixo.
var http = require('http');
exports.test1 = function (test) {
test.expect(1);
http.get({hostname: "www.broofa.com", path: "/"}, function (res) {
test.equal(res.statusCode, 200, 'got 200');
test.done();
});
};
exports.test2 = function (test) {
test.expect(1);
http.get({hostname: "www.no-such-domain.com", path: "/"}, function (res) {
test.equal(res.statusCode, 200, 'got 200');
test.done();
}).on('error', function() {
// Comment line below out to repro the "Undone tests" error
test.done();
});
};