Javascript 《卡玛摩卡》中没有对柴的定义

Javascript 《卡玛摩卡》中没有对柴的定义,javascript,unit-testing,karma-runner,karma-mocha,Javascript,Unit Testing,Karma Runner,Karma Mocha,我正在使用mocha phantomjs配置成功地运行我的测试用例。 现在我正在使用Karma launcher运行这些测试。 但是我明白了问题是没有定义Chai 这是我的配置文件 module.exports = function(config) { config.set({ client: { mocha: { ui: 'tdd' } }, basePath: '', frameworks: ['m

我正在使用mocha phantomjs配置成功地运行我的测试用例。 现在我正在使用Karma launcher运行这些测试。 但是我明白了问题是没有定义Chai

这是我的配置文件

 module.exports = function(config) {
  config.set({
    client: {
        mocha: {
            ui: 'tdd'
        }
    },
    basePath: '',
    frameworks: ['mocha'],
    files: [
      'web/js/*.js',
      'test/lib/*.js',
      'node_modules/chai/chai.js'  //added this on suggestion of the answer in stackoverflow
    ],
    exclude: [
    ],
    preprocessors: {
    },
    reporters: ['progress'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    browsers: ['Firefox'],
    singleRun: false,
  });
};


我对它进行了研究,发现了这个,

我为chai安装了karma chai插件

将框架更改为此

frameworks: ['mocha', 'chai']
并添加这些依赖项

npm install karma-chai --save-dev
现在我已经解决了我的问题。
希望这也能对您有所帮助。

您可以安装
karma chai
并按照批准的答案中的建议将
chai
添加到您的框架中,它会起作用,但如果您喜欢另一种方式,您也可以将其列在通常列出依赖项的文件中。使用bower安装chai,并将
bower\u components/chai/chai.js
添加到文件列表中,它应该可以工作。因此,您的配置可能如下所示:

files: [
  'bower_components/chai/chai.js',
  '*.test.js'
],
在上面的文件列表中,您有
node\u modules/chai/chai.js
,您说它是根据StackOverflow上某个人的建议添加的。它可能不起作用,因为在测试之前没有正确订购


在我的
karma.conf.js
文件中,它指向一个框架列表,奇怪的是
karma chai
不在列表中,加上karma chai似乎对RequireJS有问题。

将您的解决方案作为答案发布。@thomas-发布了答案