Я тестирую простой экспресс-маршрут, который возвращает объект json и usin mocha с sinon, чтобы соответствовать ответу.
Это простой экспресс-ответ / логин
const login = async (req, res) => {
let response = {
success: true,
id: "id0090",
}
res.end(JSON.stringify(response));
}
Этопростой тет с микой и синоном
it('res.end should be called with success true ', async () => {
let req = {
body: {}
}
let res = {
end: sinon.spy(),
}
await login(req,res);
let expected = {
success: true,
id: "id0090",
}
sinon.assert.calledWith(res.end, sinon.match(expected));
});
Я получаю эту ошибку, но, как вы видите, оба одинаковы.
AssertError: expected end to be called with arguments
{"success":true,"id":"id0090"} match(success: true, id: id0090)
Интересно, что если я удаляю JSON.stringify
из login
Пройти тест, но это не идея.
const login = async (req, res) => {
let response = {
success: true,
id: "id0090",
}
res.end(response); // this make the test pass
}
Спасибо за любую помощь