A Http Mock Middleware for Express
npm install http-mock-middleware`` bash`
npm install --save http-mock-middleware
` js
const mockMiddleware = require('http-mock-middleware')
const mockDirectory = 'mock'
app.use(mockMiddleware(mockDirectory))
`
` js
module.exports = {
success: true,
msg: 'Hello, Node.js!'
}
// Using user-defined funciton (See more methods on req/res in Express 4.x API)
module.exports = function(req, res) {
setTimeout(() => {
res.json({
success: true,
msg: 'Hello, Node.js!'
})
}, 2000)
}
// Using params in url (See more details about url pattern in path-to-regexp)
// /api/test/1 => /api/test/:test_id.js
module.exports = function(req, res) {
res.json({
success: true,
msg: req.params.test_id
})
}
// Simplify the response, default to return JSON format
// Caution Please
// If you ever call any method of res object(this second argument) synchronously
// in your function, the middleware will ignore the return of your function.
// If you call any method of res object asynchronously but return anything except
// null/undefined at the same time, the return value will served as the result.
// So please use plain object for return or call specific method on res object.
// Do not mixing them up!
module.exports = function(req) {
return {
success: true,
msg: req.params.test_id
})
}
// Define different HTTP methods
module.exports = {
__GET: {
success: true,
msg: 'Hello, Node.js!'
},
__POST: {
success: 'true'
}
}
``