设置karma来testingnode.js模块?
我正在开发一个Node.js模块,我想用Karma在工作时自动testing它。
在我的configuration文件中,我设置了这个:
// list of files / patterns to load in the browser files: [ './index.js', './test/indexSpecs.js' ],
显然,由于Node.js不包含在浏览器文件中,我得到这个错误:
Uncaught ReferenceError: require is not defined
如果我添加:
files: [ './node_modules/**/*.js', './index.js', './test/indexSpecs.js' ],
我收到了一堆错误。 我认为js文件按字母顺序加载,这是错误的。
我也认为Node.js不能在浏览器中运行,所以我试图做的可能是完全错误的。 有其他select吗?
你对业力不适合testing服务器端代码是正确的。 它将在浏览器的上下文中运行所有内容,这导致了您所看到的问题。 如果你想为服务器和客户端开发一个模块,你可以结合浏览器使用业力,但是你仍然需要在节点环境下运行testing。
相反,我会build议使用摩卡 :一个简单而强大的testing运行器,非常适合testing节点模块。
我正在开发一个Node.js模块,我想用Karma在工作时自动testing它。
你不应该。 Karma是为客户端代码devise的。
要自动testing你的代码,最简单的方法是创build一个类似于这个(与摩卡)npm脚本:
"scripts": { "test": "mocha ./**", "test:watch": "npm run test -- -w" }
然后,使用npm test
按需npm run test:watch
,或者npm run test:watch
以持续运行testing。
如果您愿意,还可以使用带有监视任务的咕噜声或大嘴巴脚本。