Teste unitário com mangusto
Eu sou novo em Node.js, Mangusto e teste neste ambiente. Eu tenho o seguinte esquema declarado em um arquivo separado.
Issue = mongoose.model("Issue", {
identifier: String,
date: String,
url: String,
name: String,
thumbnailURL: String
});
Então eu tenho esse método que simplesmente retorna todos osIssue
instâncias na coleção MongoDB.
function issues(request, response) {
response.setHeader('Content-Type', 'text/json');
Issue.find().sort('date').exec(function(error, items) {
if (error) {
response.send(403, {"status": "error", "error:": exception});
}
else {
response.send(200, {"issues": items});
}
});
}
Eu cheguei até aqui através da experimentação, e agora eu quero testá-lo, mas me deparei com um problema. Como faço para testá-lo, sem configurar uma conexão do MongoDB etc. Eu sei queposso definir todas essas coisas, mas isso é um teste de integração. Eu quero escrever testes de unidade para testar coisas como:
A função define o tipo de conteúdo corretamenteA função classifica peladate
campoA função retorna um 403 quando ocorre um erro?... e assim por dianteEstou curioso para ver como posso refatorar meu código existente para torná-lo mais testável em unidade. Eu tentei talvez criar uma segunda função que é chamada, aceitando oresponse
eItem
objetos de esquema como parâmetros, mas não parece certo. Alguém tem alguma sugestão melhor?