【发布时间】:2021-06-08 01:29:22
【问题描述】:
我正在使用npm request,如何模拟 request.post 我需要测试错误场景,statuscode not 200 场景和成功流程。
1 request.post(reqObject, (error: Error, response: any, body: any) => {
2 if (error) { return reject(error); }
3 if (response.statusCode !== 200) {
4 return reject('Invalid status code <' + response.statusCode + '>');
5 }
6 return resolve(JSON.parse(body));
7 });
【问题讨论】:
-
我建议不要嘲笑你不拥有的东西,比如请求。这样一来,当您使用更多界面时,您的模拟就会变得更加复杂(例如,参见stackoverflow.com/a/65130857/3001761),甚至发现您对如何使用它有误(参见例如stackoverflow.com/a/65627662/3001761)。引入一个外观来模拟,或者使用
msw或nock之类的东西在传输层进行测试。