A Karma plugin for jasmine-jquery
npm install @metahub/karma-jasmine-jqueryA Karma plugin for Jasmine-jQuery.





``bash`
npm install karma jasmine-core karma-jasmine jasmine-jquery @metahub/karma-jasmine-jquery --save-dev@metahub/karma-jasmine-jquery
Note: depends on Jasmine, Karma-Jasmine, and Jasmine-jQuery but they are not bundled, just defined as peer-dependencies. This allow you to use any version independently of @metahub/karma-jasmine-jquery.
`js`
module.exports = function(config) {
config.set({
plugins: ['@metahub/karma-jasmine-jquery', 'karma-*'],
frameworks: ['jasmine-jquery'],
});
};karma-
Note: Karma can auto-load plugins named (see plugins). Unfortunatly it doesn't work with scoped packages, therefore @metahub/karma-jasmine-jquery has to be explicitly added to the plugins configuration. In order to continue to automatically load other plugins you can add karma- to the plugins configuration.
Note: @metahub/karma-jasmine-jquery will automatically import the necesary files from jQuery, Jasmine and Karma-Jasmine. No need to add them to plugins or frameworks.
In your Jasmine tests, jQuery will be accessible with $ or jQuery:`js`
describe('Jasmine tests with Jasmine-jQuery', () => {
it('shoud allow to use jQuery', () => {
setFixtures('fixture content');
expect($('#fixture')).toHaveText('fixture content');
expect(jQuery('#fixture')).toHaveClass('fixture-class');
});
});
uses a recent version of jQuery but it might be desirable to use the specific version of jQuery used in your application for executing the Jasmine tests.In that case you can use Karma-jQuery:
`bash
npm install karma-jquery --save-dev
``js
module.exports = function(config) {
config.set({
plugins: ['@metahub/karma-jasmine-jquery', 'karma-*'],
frameworks: ['jasmine-jquery', 'jquery-1.8.3'],
});
};
`In your Jasmine tests, the version of jQuery configured with Karma-jQuery will be accessible with
$ or jQuery. The version of jQuery used by @metahub/karma-jasmine-jquery will be accessible with $j or jasmineJQuery:
`js
describe('Jasmine tests with Jasmine-jQuery and Karma-jQuery', () => {
it('shoud allow to use a specific version jQuery', () => {
expect($.fn.jquery).toBe('1.8.3');
$.fn.jquery // 1.8.3 => version installed by Karma-jQuery
jQuery.fn.jquery // 1.8.3 => version installed by Karma-jQuery expect($j.fn.jquery).toBe('3.2.1');
$j.fn.jquery // 3.2.1 => version installed by @metahub/karma-jasmine-jquery
jasmineJQuery.fn.jquery // 3.2.1 => version installed by @metahub/karma-jasmine-jquery
});
});
``