Codeception plugin for gulp 3
First, install gulp-codeception
as a development dependency:
npm install --save-dev gulp-codeception
Then, add it to your gulpfile.js
:
var codecept = require('gulp-codeception');
// option 1: default format
gulp.task('codecept', function() {
gulp.src('./app/tests/*.php').pipe(codecept());
});
// option 2: with defined bin and options
gulp.task('codecept', function() {
var options = {debug: false, flags: '--silent --report'};
gulp.src('./app/tests/*.php').pipe(codecept('./vendor/bin/codecept run',options));
});
// option 3: supply callback to integrate something like notification (using gulp-notify)
var gulp = require('gulp'),
notify = require('gulp-notify'),
codecept = require('gulp-codecept');
_ = require('lodash');
gulp.task('codecept', function() {
gulp.src('codeception.yml')
.pipe(phpunit('', {notify: true}))
.on('error', notify.onError(testNotification('fail', 'phpunit')))
.pipe(notify(testNotification('pass', 'phpunit')));
});
function testNotification(status, pluginName, override) {
var options = {
title: ( status == 'pass' ) ? 'Tests Passed' : 'Tests Failed',
message: ( status == 'pass' ) ? '\n\nAll tests have passed!\n\n' : '\n\nOne or more tests failed...\n\n',
icon: __dirname + '/node_modules/gulp-' + pluginName +'/assets/test-' + status + '.png'
};
options = _.merge(options, override);
return options;
}
Type: String
The path to the desired Codeception binary
- If not supplied, the defeault path will be ./vendor/bin/codecept
Type: Boolean (Default: false)
Emit error details and shows command used in console
Type: Boolean (Default: false)
Clear console before executing command
Type: String
Define a specific class for testing (supply full path to test class)
Type: String (Default all suites)
Define a specific test suite to execute (acceptance, unit, functional) Note: You can also supply any custom suites you may have created
Type: String (Default no flags)
Define any custom flags you may wish to use during testing
var opts = {flags: '--silent --report'}
Type: Boolean (Default: false)
Call user supplied callback to handle notification (use gulp-notify)
Type: Array (Default: [])
List of suite(s) to skip during test run
Type: Boolean (Default: false)
When true, executes Codeception Build task, should only be triggered when changes made to .suite.yml files
-
0.5.0 Added Plugin Resources
- Added new icons for pass and fail which can be used by notify plugin (see example below for usage) /assets/test-pass.png /assets/test-fail.png
-
0.4.3: Options Addition
- Added
build
option to trigger Codeception Build task
- Added
-
0.4.2: Code Refactor and Travis Integration
- Refactored option definition
- Added travis configuration
-
0.4.1: Code Cleanup
- Removed calls to console.log -> gutil.log (playing nice in the playground)
- Fixed issue with calling as dependency task (thanks @taai)
-
0.4.0: Expanded API
- Added new option opts.skipSuite
- Expanded plugin tests
- Updated dependencies for jsHint and Mocha
-
0.3.0: Updated package.json to include test dependencies and scripts
- Added updated test script (calls mocha and jshint)
-
0.2.0: Update Default Command - Windows Fix
- Fixed default command when using windows
-
0.1.2: Code Refactoring and Cleanup
- Added test/test.js
- Updated documentation
-
0.0.1: Initial Release
gulp-codeception written by Mike Erickson
E-Mail: codedungeon@gmail.com
Twitter: @codedungeon
Webiste: codedungeon.org