How do I setup Karma to run my backend unit tests (written with Mocha)? If I add my backend test script to the files = []
, it fails stating that require
is undefined.
Karma is a test runner for JavaScript that runs on Node. js. It is very well suited to testing AngularJS or any other JavaScript projects. Using Karma to run tests using one of many popular JavaScript testing suites (Jasmine, Mocha, QUnit, etc.)
Yes, Node. js can be used in both the frontend and backend of applications. Let us now dive into a few of the applications that Node. js supports in the frontend and backend.
You don't. Karma is only for testing browser-based code. If you have a project with mocha tests on the backend and karma/mocha on the front end, try editing your package.json under scripts to set test to: mocha -R spec && karma run karma.con
Then, if npm test
returns true, you'll know it's safe to commit or deploy.
It seems like it cannot be done (thanks @dankohn). Here is my solution using Grunt:
Karma: update your karma.conf.js file
autoWatch = false;
singleRun = true;
browsers = ['PhantomJS'];
(to have inline results)Grunt:
npm install grunt-contrib-watch grunt-simple-mocha grunt-karma
Gruntfile.js:
module.exports = function (grunt) { grunt.loadNpmTasks('grunt-simple-mocha'); grunt.loadNpmTasks('grunt-karma'); grunt.initConfig({ simplemocha: { backend: { src: 'test/server-tests.js' } }, karma: { unit: { configFile: 'karma.conf.js' } } }); // Default task. grunt.registerTask('default', ['simplemocha', 'karma']); };
Grunt (optional): configure grunt-watch to run after changing spec files or files to be tested.
run all using grunt
command.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With