你可能对我放在一起的一个小包感兴趣,它使使用 Sinon 创建模拟请求/响应更容易一些。
本质上,它只是创建一个模仿标准req
/ res
from express 的对象,并用您可以检查的间谍替换该方法。
从自述文件:
你的测试:
import route from '../src/foo'
import { mockReq, mockRes } from 'sinon-express-mock'
describe('my route', () => {
it('should foo the bar', () => {
const body = {
body: {
foo: 'bar',
},
}
const req = mockReq(body)
const res = mockRes()
route(req, res)
expect(res.json).to.be.calledWith({ foo: body.foo.bar })
})
})
内容src/foo.js
:
export default (req, res) => {
res.json({ foo: req.body.bar })
}
https://github.com/danawoodman/sinon-express-mock