Mocha抱怨参考错误:未定义URL

时间:2016-06-09 15:08:24

标签: javascript node.js mocha

对不起,我不知道这是不是一个愚蠢的问题,但我找不到答案。

我在javascript中有一个纯函数,用于检查参数是否是正确的URL

isValidUrl(url) {
     const protocol = new URL(url).protocol;
     ...
}

代码在浏览器中运行良好。但我想用mocha编写一个测试。并且mocha抱怨“ReferenceError:URL未定义”。那么这是否意味着服务器端JS没有URL类?我是否需要使用无头浏览器来测试它?

非常感谢。

1 个答案:

答案 0 :(得分:0)

可能正在运行测试的节点和朋友实施the ECMAScript (JS) specURL课程来自this WhatWG spec。 JS规范没有对URL类的任何引用,这解释了您的直接问题。

Node还实现了自己的基于CommonJS的模块,其中一个模块是a URL module。但是,它似乎没有相同的界面。

使用带有Karma的Mocha在无头浏览器中运行测试,如PhantomJS,可能是更好的解决方案。您将获得准确的,如果稍微过时的铬版本,以便在其中进行测试。您也可以将Karma设置为使用其他浏览器(如果它们在测试计算机上可用)。