我有一些要用Jest测试的客户端代码。让我们将其范围缩小到可重复的位:
// fetch-example.js
const fetchExample = () => fetch('http://example.org/');
module.exports = fetchExample
由于Jest通过Node运行测试,并且Node不支持fetch,因此以下测试脚本
// fetch-example.test.js
const fetchExample = require('./fetch-example')
test('fetch resolves to something', () => {
expect.assertions(1);
return fetchExample().then(() => expect(true).toBe(true));
});
与ReferenceError: fetch is not defined
失败。没什么奇怪的,但是... fetchExample
在浏览器中可以正常工作,我希望Jest考虑到这一点并将测试标记为通过。
有什么办法可以使这项工作吗?我有什么参数可以传递给Jest,以包括诸如fetch
之类的浏览器功能吗?
注意:Jest的browser配置条目无法使其起作用。