I'm creating a web worker like this:
const getWebWorker = () => {
let worker;
if (typeof worker === 'undefined') {
worker = new Worker('worker.js');
}
return worker;
};
我现在这样调用函数:
useEffect(() => {
getWebWorker().onmessage = (event) => {
setWorkerData(event.data);
};
}, []);
实际的worker.js文件在public文件夹下,并且postMessage是一个对象。
我正在使用react测试库/jest进行测试。当我运行yarn run test
时,我会得到错误ReferenceError: Worker is not defined
,指向worker = new Worker('worker.js');
。
我理解我需要模拟worker,但我对如何做感到困惑。
我应该将模拟文件命名为什么在__mock__
文件夹中?
模拟worker看起来像什么?
在____.test.js文件中是否有任何需要处理的事情?
谢谢