我正在运行一个非常基础的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行引入app的代码似乎出现了问题。
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'
。 - George Dimitriadis