Иногда мне нужен модуль, чтобы сделать только одну вещь.
Например, у меня есть auth middleware
и , его работа заключается в проверке подлинности пользователя.
Я не думаю, что есть причина для этого.
Но здесь я могу легко заглушить его, используя sinon
const auth = asyn function(req, res, nex) {
}
module.exports = {
auth: auth
}
//stubbing(in test.js)
const authStub = sinon.stub(authMiddleware, 'auth')
Вместо этого мне нравится делать
module.exports = async function(req, res, next) {
}
В чем проблема с моим подходом ?
Одна проблема, с которой я столкнулся. Я не могу заглушить auth middleware
, если я делаю module.exprts = function(){}
В этом случае мне нужно использовать некоторые другие библиотеки, такие как proxyquire
, просто чтобы заглушить эти типы middlewares
.
Что вы, ребята, предлагаете?
Любая альтернатива для достижения того же? Или лучше вообще не заглушать auth
?
Я только прошу это с точки зрения тестирования как лучший метод. Я знаю, что делает moduel.exports
или exports
, а также разница.