reactjs - 使用 webpack-hot-middleware 配置环境时 Jest 测试失败

标签 reactjs express webpack jestjs webpack-hot-middleware

因此,我正在运行一个非常基本的 Jest 测试来测试我的其中一条路线是否返回 200。

import request from 'supertest';
import app from './../app';

describe('GET /', () => {
  it('should render properly', async () => {
    await request(app).get('/api/testing').expect(200);
  });
});

这工作得很好,然后我配置了 webpack-hot-middleware,它似乎在我导入应用程序的第 2 行处中断了。

TypeError: setInterval(...).unref is not a function

  at createEventStream (node_modules/webpack-hot-middleware/middleware.js:50:17)
  at webpackHotMiddleware (node_modules/webpack-hot-middleware/middleware.js:12:21)
  at Object.<anonymous> (server/app.js:62:73)
  at Object.<anonymous> (server/test/routes.test.js:2:38)

如果我从 app.js 中删除以下代码,测试都会运行良好。

  app.use(middleware);
  app.use(webpackHotMiddleware(compiler));
  app.get('*', (req, res) => {
    res.write(middleware.fileSystem.readFileSync(path.join(__dirname, '../dist/index.html')));
    res.end();
  });

有人为 webpack-hot-middleware 配置了 Jest 吗?我有点迷失,因为我觉得我已经尝试了一切。

最佳答案

您必须设置testEnvironment node 的 Jest 配置选项。 unref() 仅存在于 Node.js 中。

关于reactjs - 使用 webpack-hot-middleware 配置环境时 Jest 测试失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41642672/

相关文章:

javascript - React Leaflet : Dynamic Markers, 无法读取属性 'addLayer'

javascript - Angular2 路由与 Express 路由结合使用?

session - Node.js 服务器重启会丢弃 session

javascript - 找不到 Node.js/socket.io/socket.io.js express 4.0

javascript - 嵌入式 react 组件未在 html 页面中呈现/加载。 (网络包/通天塔)

reactjs - React UI组件库构建脚本

javascript - React axios中的简单授权错误: `Network Error at createError...`

reactjs - 界面不能同时扩展 anchor 和按钮类型

node.js - NPM 在 Windows 10 上启动时 NODE_PATH 抛出错误

angular - NG_PERSISTENT_BUILD_CACHE=1 ng 服务不工作