Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mnasyrov/karma-jasmine-spec-tags
A plugin for karma-jasmine which helps to filter tests (specs) by tags.
https://github.com/mnasyrov/karma-jasmine-spec-tags
jasmine karma-jasmine karma-plugin
Last synced: about 2 months ago
JSON representation
A plugin for karma-jasmine which helps to filter tests (specs) by tags.
- Host: GitHub
- URL: https://github.com/mnasyrov/karma-jasmine-spec-tags
- Owner: mnasyrov
- License: mit
- Created: 2016-09-08T03:44:57.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2023-03-22T18:59:30.000Z (almost 2 years ago)
- Last Synced: 2024-11-17T18:07:58.433Z (2 months ago)
- Topics: jasmine, karma-jasmine, karma-plugin
- Language: JavaScript
- Homepage:
- Size: 437 KB
- Stars: 6
- Watchers: 3
- Forks: 1
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# karma-jasmine-spec-tags
[![npm version](https://badge.fury.io/js/karma-jasmine-spec-tags.svg)](https://www.npmjs.com/karma-jasmine-spec-tags)
[![Node CI](https://github.com/mnasyrov/karma-jasmine-spec-tags/workflows/Node%20CI/badge.svg)](https://github.com/mnasyrov/karma-jasmine-spec-tags/actions?workflow=Node+CI)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`](https://github.com/karma-runner/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 optionsFollowing options can be passed to `karma`:
* `--tag-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.
* `--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.## 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.## License
[MIT](LICENSE)