我是Jest和React的新手,所以这应该是一个非常简单的问题……我有一个api端点,我想检查一下是否可以命中。我选择Axios作为客户端进行尝试,并创建了以下测试:
describe('Api Tests', () => {
it('can perform an axios request', () => {
console.log('Here goes!');
const resp = axios.get('api-endpoint');
console.log(resp);
expect(resp).toBeDefined();
console.log('Done...');
});
});
感谢,测试通过了,但输出如下:
PASS src\api\api.test.js
Api Tests
√ can perform an axios request (39ms)
console.log src\api\api.test.js:15
Here goes!
console.log src\api\api.test.js:23
Promise { <pending> }
console.log src\api\api.test.js:25
Done...
我该如何测试一个简单的请求(不发送请求),这样我才能得到一个可以查询的响应?
答案 0 :(得分:0)
我有一个很好而简单的方法,也许您也会喜欢。保持简单即可。
`import axios from 'axios';
axios.get('url goes here')
.then(response =>{console.log(response)})`
也许对您有帮助。
答案 1 :(得分:0)
由于axios.get
返回了一个承诺,您应该指示Jest to wait for the response返回。
it('can perform an axios request', async () => {
const resp = await axios.get('api-endpoint');
expect(resp).toBeDefined();
});
或没有async
函数:
it('can perform an axios request', () => {
return expect(axios.get('api-endpoint')).resolves.toBeDefined();
});