对不起,我不知道这是不是一个愚蠢的问题,但我找不到答案。
我在javascript中有一个纯函数,用于检查参数是否是正确的URL
isValidUrl(url) {
const protocol = new URL(url).protocol;
...
}
代码在浏览器中运行良好。但我想用mocha编写一个测试。并且mocha抱怨“ReferenceError:URL未定义”。那么这是否意味着服务器端JS没有URL类?我是否需要使用无头浏览器来测试它?
非常感谢。
答案 0 :(得分:0)
可能正在运行测试的节点和朋友实施the ECMAScript (JS) spec。 URL
课程来自this WhatWG spec。 JS规范没有对URL类的任何引用,这解释了您的直接问题。
Node还实现了自己的基于CommonJS的模块,其中一个模块是a URL module。但是,它似乎没有相同的界面。
使用带有Karma的Mocha在无头浏览器中运行测试,如PhantomJS,可能是更好的解决方案。您将获得准确的,如果稍微过时的铬版本,以便在其中进行测试。您也可以将Karma设置为使用其他浏览器(如果它们在测试计算机上可用)。