Ну, это как-то странно, у меня довольно много таких циклов, и в отчете о лабораторных испытаниях говорится, что они покрыты.
Вот мой код
handler: async (request, h) => {
try {
const results = await Content.find(contentFilters).sort({createdAt: -1})
.exec();
const {simpleResults} = request.query;
const contentList = results.results.map(row => simpleResults ? row.simpleApiData() : row.apiData());
return {
status: true,
results: contentList,
}
} catch (e) {
/* $lab:coverage:off$ */
request.server.log(['error', 'content', 'list'], e);
return Boom.badRequest(e.message, e);
/* $lab:coverage:on$ */
}
}
иВот тестовый код, который охватывает все строки.
it('It should list contents', async () => {
const res = await server.inject({
url: `/content?${key}=${filters[key]}&page=1`, // I also have another test with additional "simpleResults" parameter added to this url, query parameters validated by Joi ofc. simpleResults: Joi.boolean(),
method: 'get',
headers: {
"Authorization": token
}
});
expect(res.statusCode).to.equal(200);
expect(res.result.status).to.equal(true);
expect(res.result.results).to.be.an.array();
expect(res.result.results).to.have.length(1);
expect(res.result.results[0].title).to.equal('Game Of Thrones');
});
У меня есть много других сложных циклов в моем коде, и большинство из них покрыты тестом.Можно ли показать нам свой тестовый код, как вы проверяете свои условия?