rump-scripts-test
v0.8.0
Published
Rump piece for testing scripts with Karma
Downloads
7
Maintainers
Readme
Rump Scripts Test
Status
Master
Develop
About
Rump Scripts Test is a Rump module for handling and running client-side tests on Rump Scripts using Karma with support for PhantomJS and Mocha out of the box. For more information, visit the core repository.
API
The following is appended to the core Rump API:
rump.addGulpTasks(options)
This module adds the following tasks:
scripts:test
will process and execute tests with Karma. For more information on source path seerump.configure()
below. This task is also added to thetest
task for a single run test as well as thetest:watch
task for continuous test runs.info:scripts:test
will display information on what this specific module does, specifically the source path as well as what tests would run. This task is also added to theinfo
task.
rump.configure(options)
Redefine options for Rump and Rump modules to follow. In addition to what options Rump and other Rump modules offer, the following options are available alongside default values:
options.paths.source.tests
(options.paths.source.scripts
)
This is the directory where tests to be processed and run are contained. This
path is relative to the root source path. (If the default root, scripts, and
tests path is used, then the path would be src/scripts
)
options.globs.build.tests
('**/*_test.' + extensions
)
This specifies which tests to process and run. By default it processes all
script files that end in _test
in the top level directory of the root test
path for tests.
options.test.browsers
This specifies which browsers to run tests on. In fact, this is a convenience for Karma's browsers option. See the Karma Plugins section below for information on any browsers already set.
options.test.frameworks
This specifies which frameworks to load in Karma. In fact, this is a convenience for Karma's frameworks option. See the Karma Plugins section below for information on any frameworks already set.
options.test.reporters
This specifies which reporters to use in Karma. In fact, this is a convenience for Karma's reporters option.
options.test.karma
This specifies any options you want to override in Karma. This is best if you want to fully make changes in Karma's configuration.
rump.configs.karma
This contains the generated options that are passed to Karma. Not only is this
is a good way to see what options are generated based on defaults and
overrides, but this can be leveraged to run Karma tests directly through Karma.
For instance, you can create a karma.conf.js
file with the following:
// Load/initialize Rump modules
module.exports = function(config) {
config.set(rump.configs.karma)
}
Karma Plugins
Rump Scripts Test will detect Karma plugins available in the project and append items as needed:
Browsers
karma-phantomjs-launcher
tests code in the PhantomJS headless browser. If the project has no browsers listed inpackage.json
, this browser is used by default.karma-chrome-launcher
tests code in Chrome.karma-firefox-launcher
tests code in Firefox.karma-ie-launcher
tests code in Internet Explorer.karma-safari-launcher
tests code in Safari.karma-detect-browsers
will detect and automatically run on all browsers available in the system.
Frameworks
karma-mocha
adds Mocha as the testing framework. If the project has no frameworks listed inpackage.json
, this testing framework is used by default. Make sure to include an assertion framework. (you can add one through NPM and userequire
to load one like Chai or expect.js)karma-jasmine
adds Jasmine as the testing framework.karma-qunit
adds QUnit as the testing framework.
Want support for another plugin? Open an issue/PR.