在实习生中调用Chai插件会返回错误

时间:2014-09-23 13:08:57

标签: node.js dojo requirejs intern

我试图在实习生中使用sinon-chai plugin,但它给了我:

Error {stack: (...), message: "Cannot find the Node.js require"} 

我已经通过npm安装了插件,这是我的测试文件:

define([
  'intern!bdd',
  'intern/chai!expect',
  'app/functions',
  'intern/chai',
  'intern/dojo/node!sinon-chai'
], function (bdd, expect, myapp, chai, sinonChai) {
  chai.use(sinonChai);

  ...

});

可能出现什么问题?

1 个答案:

答案 0 :(得分:2)

节点加载器需要Node.js,因此无法在浏览器中使用。您需要直接加载sinon-chai库,如下所示(假设从您的测试到node_modules的相对路径为../node_modules):

define([
  'intern!bdd',
  'intern/chai!expect',
  'app/functions',
  'intern/chai',
  '../node_modules/sinon-chai/lib/sinon-chai'
], function (bdd, expect, myapp, chai, sinonChai) {
  chai.use(sinonChai);
  ...
});

您可以通过在实习生配置中定义sinon-chai包来简化测试包括:

...
loader: {
    { name: 'sinon-chai', location: 'node_modules/sinon-chai/lib' },
    ...
}
...

然后你就可以了:

define([
    ...
    'sinon-chai/sinon-chai'
], function (bed, expect, myapp, chai, sinonChai) {
...
});