javascript - 获取模拟 : GLOBAL is not defined

标签 javascript unit-testing reactjs es6-promise jestjs

我正在使用 fetch-mock 为使用 isomorphic-fetch 的函数编写单元测试用例。这是示例测试套件:

 import connect from '../../src/utils/connect';
 import fetchMock from 'fetch-mock';

 describe('Unit | Utils | connect function', () => {
  it('should make a request', (done) => {
     const urlToTest = 'http://localhost:3000/api/v1/users';
     fetchMock
      .mock(urlToTest, 200)
      .getMock();

    const response = connect(urlToTest);
    expect(response);
    done();
  });
});

运行测试用例时出现错误

/my_app/app/node_modules/fetch-mock/src/server.js: GLOBAL is not defined

我无法调试此问题。任何人都可以让我知道我做错了什么。谢谢

最佳答案

如果您使用的是 jest,请将 setupTestFrameworkScriptFile 部分添加到 package.json:

{
  ...
  "jest": {
    ...
    "setupTestFrameworkScriptFile": "setupTestFrameworkScriptFile.js"
  }
}

将此行添加到 setupTestFrameworkScriptFile.js:

global.GLOBAL = global;

关于javascript - 获取模拟 : GLOBAL is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35633044/

相关文章:

javascript - 调用文本文件以填充 HTML 中的段落 - 这可能吗?

Javascript 函数 - 样式更改不起作用

unit-testing - 函数组合的单元测试准确性

javascript - 将新值推送到对象数组,同时保持旧值完好无损 React Js Next Js

javascript - 获取图像路径

javascript - 如何在层之间传递 http 服务器变量,而不是将其用作 node.js 中不同文件中的 require 语句?

java - 如何测试一个方法内部调用了不同的方法?

unit-testing - 在 Grails 中测试 afterInsert

javascript - 将 react-quill 用于博客应用程序,以便用户可以创建帖子。如何在 React 中正确显示一串 html 元素?

reactjs - 如何使用apollo Reactjs客户端刷新firebase IdToken