J. *_*rsh 6 node.js jasmine angularjs browserify karma-runner
我正在尝试使用Karma,Karma-Jasmine和Karma-Browserify在Angular/Browserify项目上设置单元测试.我在Windows机器上,供参考.karma-cli是我的全球NPM路径上,并且karma,karma-jasmine,karma-browserify,和browserify都是本地NPM安装,使用-D.
我正在尝试引入一个spec文件,看起来像:
var PhoneListCtrl = require('../../../public/js/app/controllers/phone-list');
describe('PhoneListCtrl', function() {
var scope,
ctrl;
beforeEach(function() {
scope = {};
ctrl = new PhoneListCtrl(scope);
});
it('should create "phones" model with 3 phones', function() {
expect(scope).not.toBe(undefined);
});
});
Run Code Online (Sandbox Code Playgroud)
我每次都会收到以下错误:
Uncaught Error: Cannot find module 'Cc/gGH'
Run Code Online (Sandbox Code Playgroud)
克隆下面的repos,安装karma和所有插件,并尝试运行他们的示例测试套件后,我得到了完全相同的错误:
https://github.com/xdissent/karma-browserify
https://github.com/waye929/angular-browserify
我究竟做错了什么?正确找到了测试规范模块,并且业力似乎正在寻找所有必要的插件/预处理器,但似乎karma-browserify require每次都会在规范中对语句进行绊倒,原因我无法理解.
我已经多次卸载并重新安装业力和所有相关插件,但无济于事.
我设法找到了解决方案.该问题是由karma-browserify自己的模块名称哈希函数引起的,该函数与较新版本的版本不兼容browserify.有一个fork使用browserify散列函数来处理它:
https://github.com/voidlock/karma-browserify/commit/3afe3b7485f2e4723bba5ad1c5a730d560b8c234
有拉动请求待定,但在此期间你可以通过放置使用fork
"karma-browserify": "https://github.com/voidlock/karma-browserify/tarball/use-browserify-hash-function"
在您的package.json(dev)依赖项部分中.
| 归档时间: |
|
| 查看次数: |
3041 次 |
| 最近记录: |