Com base nos comentários do autor da pergunta acima, tentei fazer votos e resolveu muitos problemas que estava tendo com meus testes assíncronos. Sua capacidade de misturar testes seriais e paralelos é impressionante.
Certifique-se de ler o documento de orientação com cuidado, mas assim que conseguir entender, ele é flexível, poderoso e produz resultados agradáveis e limpos.
UPDATE: Também gostaria de incentivar as pessoas a verificar deve por sua afirma. Ele permite afirmações muito flexíveis, muito legíveis e é compatível com Expresso e Vows, e provavelmente com a maioria das outras estruturas de teste.
(Estou postando isso como uma resposta separada, caso as pessoas não percebam os comentários na resposta de Alfred.)
ATUALIZAÇÃO 1/7/2015: Desde o que vale a pena, mudei de Vows para Mocha e de Should para Chai. O Mocha agora tem muito mais suporte para testes assíncronos usando promessas, e o Chai permite várias opções de afirmação flexíveis, incluindo a expect
API, para quem não gosta de modificar o protótipo do objeto.