I am running my test cases succesfully using mocha-phantomjs configurations.
Now I am running these test using Karma launcher.
But I get the issue Chai is not defined
.
Here is my configuration file.
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,
});
};
I have researched on it and found this links,
I installed the karma-chai plugin for chai https://github.com/eclifford/karma-chai-jquery/issues/3
Change frameworks to this.
frameworks: ['mocha', 'chai']
and add these dependencies.
npm install karma-chai --save-dev
Now I have solved my problem. Hope this will help you also.
You can install karma-chai
and add chai
to your frameworks as suggested in the approved answer and it will work, but if you'd prefer another way, you can also list it in your files where dependencies are typically listed. Install chai with bower and add bower_components/chai/chai.js
to the files list and it should work. So your config might look like this:
files: [
'bower_components/chai/chai.js',
'*.test.js'
],
In your list of files above you had node_modules/chai/chai.js
which you said was added based on a suggestion from someone on StackOverflow. It probably didn't work because it wasn't properly ordered before the tests.
In my karma.conf.js
file, it points to https://npmjs.org/browse/keyword/karma-adapter for a list of frameworks and oddly enough karma-chai
is not included in the list, plus karma-chai seems to have issues with RequireJS.
来源:https://stackoverflow.com/questions/24953218/chai-is-not-defined-in-karma-mocha