gulp-test-tools
Testing tools for gulp
Usage
gulpRunner
examplejsvar runner = gulpRunner; ; { ...}
$ node example.js---- commandcd /home/sttk/project;cd test; node /usr/local/lib/node_modules/gulp-cli/bin/gulp.js build --gulpfile fixtures/gulpfile.js---- errornull---- stdout[20:11:53] Working directory changed to ~/project/test/fixtures[22:11:53] Using gulpfile ~/project/test/fixtures/gulpfile.js[20:11:53] Starting 'build'...[20:11:53] Finished 'build' after 5.11 ms ---- stderr ----.
eraseTime
examplejsvar eraseTime = eraseTime; var gulpOutput = "[20:11:53] Starting 'default'...\n" + "[20:11:53] Finished 'default' after 5.11 ms\n"; console;
$ node example.jsStarting 'default'...Finished 'default' after 5.11 ms
eraseLapse
examplejsvar eraseLapse = eraseLapse; var gulpOutput = "[20:11:53] Starting 'default'...\n" + "[20:11:53] Finished 'default' after 5.11 ms\n"; console;
$ node example.js[20:11:53] Starting 'default'...[20:11:53] Finished 'default' after ?
skipLines
examplejsvar skipLines = skipLines; var gulpOutput = "[20:11:53] Using gulpfile ~/project/gulpfile-2.js\n" + "[20:11:53] Starting 'default'...\n" + "[20:11:53] Finished 'default' after 5.11 ms\n"; console;
$ node example.js[20:11:53] Starting 'default'...[20:11:53] Finished 'default' after 5.11 ms
headLines
examplejsvar headLines = headLines; var gulpOutput = "[20:11:53] Using gulpfile ~/project/gulpfile-2.js\n" + "[20:11:53] Starting 'default'...\n" + "Hello, world!\n" + "[20:11:53] Finished 'default' after 5.11 ms\n"; console;
$ node example.jsHello, world!
How to use gulpRunner with istanbul
Though gulpRunner executes a command on a child process, it can get coverage about the command with istanbul. The way to get coverage is as follows:
$ istanbul cover example.js
If there are multiple test scripts, you can get their total coverage by following way:
$ istanbul cover example.js example2.js --print none && istanbul report lcov text-summary
If you run test scripts in the directory ./test
with istanbul + mocha, you should execute the following command:
$ istanbul cover _mocha --print none && istanbul report lcov text-summary
API
gulpRunner([opts])
Creates a gulp runner which generates a command string and runs it.
Arguments:
-
opts [object] : options for a runner. This object has following properties:
- verbose [boolean] : if
true
, prints command, err, stdout, stderr
- verbose [boolean] : if
Methods:
-
basedir(path)
Sets base directory path. This base directory is remained after running gulp.
Arguments:
- path [string] : a base directory path.
-
chdir(path [, path ...])
Sets directory paths to be changed.
Arguments:
- path [string] : a sequence of directory paths.
-
gulp(arg [, arg ...])
Sets gulp command with its arguments.
Arguments:
- arg [string] : a sequence of command line arguments.
-
run(cb)
Runs gulp command.
Arguments:
- cb [function] : a call back function which is passed result of execution.
eraseTime(text)
Returns a text which is erased timestamp of each line.
Arguments:
- text [string] : stdout text of gulp.
eraseLapse(text)
Returns a text which is erased lapse time of ease line.
Arguments:
- text [string] : stdout text of gulp.
skipLines(text, nSkip)
Returns a text which is skipped the specified number of lines.
Arguments:
- text [string] : stdout text of gulp.
- nSkip [number] : line number to be skipped.
headLines(text, nLine, nSkip)
Returns a first nLine
lines of a text. If second argument nSkip
is specified, first nSkip
lines are skipped.
Arguments:
- text [string] : stdout text of gulp.
- nLine [number] : line number to be output.
- nSkip [number] : line number to be skipped. (optional)
License
MIT