npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

gulp-codeception

v0.5.1

Published

PHP Codeception plugin for Gulp

Downloads

351

Readme

gulp-codeception

Codeception plugin for gulp 3

Usage

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;
}

API

(codeceptpath,options,cb)

codeceptpath

Type: String

The path to the desired Codeception binary

  • If not supplied, the defeault path will be ./vendor/bin/codecept

options.debug

Type: Boolean (Default: false)

Emit error details and shows command used in console

options.clear

Type: Boolean (Default: false)

Clear console before executing command

options.testClass

Type: String

Define a specific class for testing (supply full path to test class)

options.testSuite

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

options.flags

Type: String (Default no flags)

Define any custom flags you may wish to use during testing

var opts = {flags: '--silent --report'}

options.notify

Type: Boolean (Default: false)

Call user supplied callback to handle notification (use gulp-notify)

options.skipSuite

Type: Array (Default: [])

List of suite(s) to skip during test run

options.build

Type: Boolean (Default: false)

When true, executes Codeception Build task, should only be triggered when changes made to .suite.yml files

Changelog

  • 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
  • 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

Credits

gulp-codeception written by Mike Erickson

E-Mail: [email protected]

Twitter: @codedungeon

Webiste: codedungeon.org