【发布时间】:2022-02-18 18:54:15
【问题描述】:
我是使用 Jest 进行单元测试的新手,但基本上我有一个文件 client.js,如下所示:
function add(a, b) {
return a + b;
}
const fetcher = () => {
return fetch('http://localhost:3000/').then(res => res.json);
}
module.exports = {add, fetcher};
client.test.js如下:
const client = require('../client');
test('Testing addition', () => {
expect(client.add(1, 2)).toBe(3);
});
test('Yet another addition', () => {
expect(client.add(3, 10)).toBe(13);
});
test('Testing a promise', () => {
return client.fetcher().then(data => {
expect(data).toBe(1824);
})
});
当我尝试运行测试时,它会抛出错误ReferenceError: fetch is not defined。我该如何解决这个问题?
【问题讨论】:
-
您无法在服务器上测试客户端代码。
fetch只存在于浏览器环境中。 -
注意是
res => res.json() -
@ChrisG 那么我应该使用什么框架来进行客户端的单元测试呢?
标签: javascript node.js jestjs