Package Exports
- karma-jasmine-spec-tags
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (karma-jasmine-spec-tags) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
karma-jasmine-spec-tags
A plugin for karma-jasmine. Allows to filter tests (specs) by tags.
Usage example:
$ karma start --tags smoke
$ karma start --skip-tags slow,bench
$ karma start --tags bench --skip-tags slow
$ karma start --tag-prefix 'scope:' --tag criticalWhere tags are defined in spec names:
describe('Example test', () => {
it('should be a #smoke test', () => {
// ...
});
it('#slow test', () => {
// ...
});
})
describe('Performance test suite #bench', () => {
it('#fast #smoke test', () => {
// ...
});
it('#slow test', () => {
// ...
});
})
describe('Custom tag prefix', () => {
it('test scope:critical', () => {
// ...
});
})Installation
Install the package using npm:
$ npm install karma-jasmine-spec-tags --save-devNote: karma-jasmine adapter is required to be installed.
Add jasmine-spec-tags to the frameworks array in Karma configuration after jasmine:
module.exports = function(config) {
config.set({
frameworks: ['jasmine', 'jasmine-spec-tags']
});
}Command line options
Following options can be passed to karma:
--tag-prefix <prefix>- defines a prefix for a tag name.#is used by default.--tags [names]- defines a comma-separated list of tag names.- If
namesis defined then specs which match to tags will be executed. - If
namesis not defined then all specs with a tag will be executed.
- If
--skip-tags [names]- defines a comma-separated list of tag names.- If
namesis defined then specs which match to tags will be skipped. - If
namesis not defined then all specs with a tag will be skipped.
- If
Configuration
Default values can be configured using client map in Karma configuration:
module.exports = function(config) {
config.set({
frameworks: ['jasmine', 'jasmine-spec-tags'],
client: {
tagPrefix: '@',
tags: 'smoke',
skipTags: 'slow'
}
});
}Where tagPrefix, tags and skipTags fields mean the same as the command line options.
Values of tags and skipTags fields can be either a comma-separated list of tag names or an array of strings.
Boolean true can be passed to them to include/exclude all tagged specs.