我一直在研究 pact-js-mocha 示例,当预期的响应是错误时,我在验证交互时遇到了一些困难。这是我想验证的交互:
PactConsumer(PactOpts, function () {
addInteractions([{
state: 'i have a list of projects',
uponReceiving: 'a bad request for projects',
withRequest: {
method: 'get',
path: '/projects'
},
willRespondWith: {
status: 400,
headers: { 'Content-Type': 'application/json; charset=utf-8' },
body: { reply: 'this is a 400' }
}
}])
verify('a 400 is returned', expectError, function (result, done) {
expect(JSON.parse(result)).to.eql({ reply: 'this is a 400' })
})
finalizePact()
})
但是我不确定 expectError() 函数。在示例中,这将返回一个超级代理请求,但是当交互中的状态设置为 400 时,该方法似乎会引发错误。
我已经尝试了一些事情,但大部分都是跟踪并且都是错误的(比如使用 supertest 创建一个请求并期待它的结果)。
谢谢你的帮助