Package Exports
- karma-jasmine-spec-tags
- karma-jasmine-spec-tags/index.js
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
which helps 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:' --tags critical
Where 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-dev
Note: 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
names
is defined then specs which match to tags will be executed. - If
names
is not defined then all specs with a tag will be executed.
- If
--skip-tags [names]
- defines a comma-separated list of tag names.- If
names
is defined then specs which match to tags will be skipped. - If
names
is 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.