1

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

我尝试了完整的路径,但它仍然在抱怨。

我有一个 src 文件assets/js/src/lib和测试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"]
        },
    }

},
4

1 回答 1

0

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

于 2016-01-05T15:50:42.270 回答