[英]Setup karma to test a node.js module?
我正在开发Node.js模块,并且想使用Karma在工作时对其进行自动测试。
在我的配置文件中,我将其设置为:
// 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不能在浏览器中运行,所以我试图做的事情可能是完全错误的。 还有其他选择吗?
我正在开发Node.js模块,并且想使用Karma在工作时对其进行自动测试。
你不应该。 业力是为客户端代码设计的。
要自动测试代码,最简单的方法是创建一个与此代码相似的npm脚本(使用mocha):
"scripts": {
"test": "mocha ./**",
"test:watch": "npm run test -- -w"
}
然后,使用npm test
按需npm run test:watch
,或使用npm run test:watch
连续运行测试。
如果愿意,还可以在监视任务中使用grunt或gulp脚本。
您认为业力不适合测试服务器端代码是正确的。 它会在浏览器的上下文中运行所有内容,这会导致您看到的问题。 如果要为服务器和客户端开发模块,则可以将karma与browserfiy结合使用,但是仍然需要在节点环境中运行测试。
相反,我建议使用mocha :一个简单而强大的测试运行程序,非常适合测试节点模块。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.