在Windows上使用karma-browserify找不到模块错误

我正在尝试使用Karma,Karma-Jasmine和Karma-Browserify在Angular / Browserify项目上设置unit testing。 我在Windows机器上,以供参考。 karma-cli在我的全局npmpath上, karmakarma-jasminekarma-browserifybrowserify都是本地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); }); }); 

我每次都得到以下错误:

 Uncaught Error: Cannot find module 'Cc/gGH' 

克隆下面的回购,安装因果和所有插件,并试图运行他们的示例testing套件后,我得到了完全相同的错误:

https://github.com/xdissent/karma-browserify
https://github.com/waye929/angular-browserify

我究竟做错了什么? testing规范模块find了正确的,业力似乎是find所有必要的插件/预处理器,但似乎karma-browserify每次在规范中的require声明绊倒,因为我无法理解的原因。

我已经卸载并重新安装了业力和所有相关的插件无数次,无济于事。

我设法find一个解决scheme。 这个问题是由于karma-browserify自己的模块名称散列函数造成的,它与新版本的browserify不兼容。 有一个fork使用browserify的散列函数来处理它:

https://github.com/voidlock/karma-browserify/commit/3afe3b7485f2e4723bba5ad1c5a730d560b8c234

有一个待处理的请求,但同时你可以通过放置来使用这个分支

"karma-browserify": "https://github.com/voidlock/karma-browserify/tarball/use-browserify-hash-function"

在你的package.json (dev)依赖项部分。