当我尝试运行 mocha 测试时未定义 Worker

Sab*_*san 5 javascript mocha.js web-worker

我想编写测试脚本来检查 Worker 是否是在某个外部文件的函数中创建的。我要测试的功能是,

createPoller: function () {
  var poller = new Worker(POLLER_PATH),
      _this = this;


  /* worker handler on receiving the message */
  poller.onmessage = this.handlePoller.bind(_this);
  this.set('pollerId', U.generateUUID());
  this.set('poller', poller);
}
>>> ReferenceError: Worker is not defined
at new Worker(POLLER_PATH)
      ^
Run Code Online (Sandbox Code Playgroud)

当我运行代码时,工作人员被创建并且工作正常。但是当我在该特定代码上运行脚本时,它说 Worker 未定义。

Lou*_*uis 2

如果您使用的 JavaScript 环境本身支持 Web Worker,那么它们就应该可供使用,并且您的代码应该可以工作。因此,最可能的问题是您实际上是在原生不支持 Web Worker 的 JavaScript 环境中运行代码。例如,如果您想在 Node.js 中使用 Web Workers,则必须添加一个提供它的库。根据MDN 的说法,IE 10 版本之前不支持 Web Worker。