A gulp task to run tests, defaults to npm test
,
with automatic notifications + various options / configuration possibilities...
As simple as it gets:
var gulp = require('gulp')
require('gulp-npm-test')(gulp)
It takes configuration options - here is an example, loosely borrowed from
datomiki's gulpfile.js
:
var gulp = require('gulp-npm-test')(gulp, {
taskName: 'test', // this is the default
taskHelp: 'A test task.', // irrelevant if not using beverage or gulp-help
withoutNpmRun: true, // the default, otherwise runs `npm test`
watch: ['index.js', 'test/*.spec.coffee'], // create a test:watch task using gulp-watch
testsRe: '\\.spec\\.coffee$', // a RegExp (String) to match test files with (for watching)
templates: 'your-custom-overrides.json', // deep-merged into notifications.json
templateFull: 'test', // for running all the tests
templatePart: 'test-part' // partial testing (e.g. test file change event)
})
In the above example if testsRe
isn't set -- all tests will be run each time,
no matter which file triggers the test call. Notice the testsRe
option is expected to be a String and therefore '' has to be escaped as '\' -- e.g. /\./
is '\\.'
.
One could setup more custom watching by using gulp-cause directly or otherwise.
All of the above options are optional if the defaults turn out good-enough.
The test task can take a glob / path to a specific test with a -t
or --test
,
though you probably need to set the test testCmd
option, and use a framework
that would be ok with it:
gulp test -t test/some.spec.coffee
See childish-process for templates / options / notifications.
Happy testing!
install.sh #once
npm test
Though gulp-npm-test
should work on any platform, its tests probably
need a *nix to run - Linux, Mac, etc.