Proxyquire找不到模块

时间:2015-04-29 16:48:17

标签: javascript testing browserify grunt-browserify proxyquire

我正在尝试使用proxyquire模拟依赖项进行测试。但我一直收到此错误Cannot find module

我试着用完整的路径而且还在抱怨。

我有一个位于assets/js/src/lib的src文件和js-tests/specs中的测试

这是代码。

var proxyquire = require('proxyquireify')(require);
var stubs = { 
  'mandrill': { 
      Mandrill: function () { 
          return {
              messages : jasmine.createSpy('send')
          };
      }
  }
};

var jQuery = require('jquery'),
    Mandrill = proxyquire('../../assets/js/src/lib/Mandrill', stubs),
    globalMandrill = require('mandrill');

我收到此错误。

  
    

错误:无法在

找到模块'../../assets/js/src/lib/Mandrill'   

我正在使用Grunt和PhantomJs来运行测试

这是我在Gruntfile.js中的Browserify

browserify : {
    options: {
        preBundleCB: function(b) {
            b.plugin(remapify, [
                   // some module config

            ]);

        }
    },
    dist: {
        files : {
            // some files
        },
        options: {
            transform: ['browserify-shim']
        }
    },
    specs : {
        src : ['js-tests/specs/**/*.js'],
        dest : 'js-tests/build/specs.js',
        options: {
            transform: ["browserify-shim"]
        },
    }

},

1 个答案:

答案 0 :(得分:0)

尝试将plugin: ['proxyquireify/plugin']添加到specs.options对象