我有一个示例端点,当向它提交请求时,我向第三方服务发出另一个请求,结果有时会出现故障。我想模拟此服务出现故障,以便我的测试具有相关性。 这是一些示例代码
it('should handle malfunctional 3rd party service', done => {
Frisby.post(Endpoints.randomEndpoint, {
email: 'johndoe@gmail.com',
firstName: 'John',
lastName: 'Doe'
})
.expect('status', 400)
.expect('jsonTypes', Common.Types.ErrorModel)
.done(done);
});
在我的服务器端,我有类似的东西..
app.post('randomEndpoint', (req, res) => {
request('http://3rdpaty.com/api')
.then(data => {
res.send(200);
})
.catch(err => {
res.send(500);
})
})
我的目标是模拟第三方服务的响应。有什么想法吗?
最佳答案
您可以使用 nock library 模拟您的 http 请求
nock('http://3rdpaty.com/')')
.post('/api/', {
email: 'johndoe@gmail.com',
firstName: 'John',
lastName: 'Doe'
})
.reply(400, { id: '123ABC' });
关于node.js - NodeJS 模拟第 3 方服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51876645/