• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

mikeerickson/gulp-phpunit: PHPUnit Plugin for Gulp

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

mikeerickson/gulp-phpunit

开源软件地址(OpenSource Url):

https://github.com/mikeerickson/gulp-phpunit

开源编程语言(OpenSource Language):

JavaScript 100.0%

开源软件介绍(OpenSource Introduction):

gulp-phpunit

Gulp plugin to control PHPUnit

Installation

First, install gulp-phpunit as a development dependency:

npm i -D gulp-phpunit

Usage

After you have installed plugin, reference in to your gulpfile.js:

var phpunit = require('gulp-phpunit');

Option 1: Default format, equivelant to using phpunit in command line (no options).

var gulp    = require('gulp');
var phpunit = require('gulp-phpunit');

gulp.task('phpunit', function() {
  gulp.src('')
    .pipe(phpunit());
});

Option 2: With defined bin and options.

var gulp    = require('gulp');
var phpunit = require('gulp-phpunit');

gulp.task('phpunit', function() {
  var options = {debug: false};
  gulp.src('phpunit.xml')
    .pipe(phpunit('./vendor/bin/phpunit',options));
});

Option 3: With custom options, using separate configuration file, disabling status line

var gulp    = require('gulp');
var phpunit = require('gulp-phpunit');

gulp.task('phpunit', function() {
  var options = {
    debug:             true,
    statusLine:        false,
    configurationFile: './test.xml'
  };
  gulp.src('phpunit.xml')
    .pipe(phpunit('./vendor/bin/phpunit', options));
});

Option 4: Using callback when testing completed

var gulp    = require('gulp');
var phpunit = require('gulp-phpunit');

gulp.task('phpunit', function() {
  gulp.src('phpunit.xml')
    .pipe(phpunit('./vendor/bin/phpunit', {}, function(err, msg) {
      
      // null if no error
      // 1 if error
      if(err) { 
        console.log('Error' + err);
      }
      console.log(msg);
    }));
});

Note: Windows OS may require double backslashes if using other than default location

var phpunit = require('gulp-phpunit');

gulp.task('phpunit', function() {
  gulp.src('phpunit.xml')
    .pipe(phpunit('.\\path\\to\\phpunit'));
});

API

phpunit(phpunitpath,options, [callback])

phpunitpath

Type: String

The path to the desired PHPUnit binary

  • If not supplied, the default path will be ./vendor/bin/phpunit

options.debug

Type: Boolean Default: false

Debug mode enabled (enables --debug switch as well)

options.clear

Type: Boolean Default: false

Clear console before executing command

options.dryRun

Type: Boolean Default: false

Executes dry run (doesn't actually execute tests, just echo command that would be executed)

options.notify

Type: Boolean Default: true

Conditionally display notification (both console and growl where applicable)

options.statusLine

Type: Boolean Default: true

Displays status lines as follows

  • green for passing tests
  • red for failing tests
  • yellow for tests which have debug property enabled (will also display red, green status)

PHPUnit Options

In addition to plugin options, the following PHPUnit specific options may be configured. For more information (and default values), visit the help supplied by PHPUnit

$ phpunit --help

options.testClass

Type: String

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

options.testSuite

Type: String

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

options.configurationFile

Type: String

Define a path to an xml configuration file (supply full path and filename)

  • If .xml file supplied as task source, it will be used as configuration file
  • If configurationFile property supplied in options, it will be used as configuration file
  • If you enable noConfigurationFile property, no configuration file will be used

callback

Type: function

You may supply an optional callback which will be called when testing has completed. The callback follows the standard nodejs callback signature

function callback(err, msg) {}

Code Coverage Options:

Call user supplied callback to handle notification

options.coverageClover

Type: String

Generate code coverage report in Clover XML format.

options.coverageCrap4j

Type: String

Generate code coverage report in Crap4J XML format.

options.coverageHtml

Type: String

Generate code coverage report in HTML format.

options.coveragePhp

Type: String

Export PHP_CodeCoverage object to file.

options.coverageText

Type: String

Generate code coverage report in text format. -- Default: Standard output.

options.coverageXml

Type: String

Generate code coverage report in PHPUnit XML format.

Logging Options:

options.logJunit

Type: String

Log test execution in JUnit XML format to file.

options.logTap

Type: String

Log test execution in TAP format to file.

options.logJson

Type: String

Log test execution in JSON format.

options.testdoxHtml

Type: String

Write agile documentation in HTML format to file.

options.testdoxText

Type: String

Write agile documentation in Text format to file.

Test Selection Options:

options.filter (pattern)

Type: String

Filter which tests to run.

options.testSuite (pattern)

Type: String

Filter which testsuite to run.

options.group (pattern)

Type: String

Only runs tests from the specified group(s).

options.excludeGroup

Type: String

Exclude tests from the specified group(s).

options.listGroups

Type: String

List available test groups.

options.testSuffix

Type: String

Only search for test in files with specified suffix(es). Default: Test.php,.phpt

Test Execution Options:

options.reportUselessTests

Type: String

Be strict about tests that do not test anything.

options.strictCoverage (default: false)

Type: Boolean

Be strict about unintentionally covered code.

options.disallowTestOutput (default: false)

Type: Boolean

Be strict about output during tests.

options.enforceTimeLimit (default: false)

Type: Boolean

Enforce time limit based on test size.

options.disallowTodoTests (default: false)

Type: Boolean

Disallow @todo-annotated tests.

options.strict (default: false)

Type: Boolean

Run tests in strict mode (enables all of the above).

options.processIsolation (default: false)

Type: Boolean

Run each test in a separate PHP process.

options.noGlobalsBackup (default: false)

Type: Boolean

Do not backup and restore $GLOBALS for each test.

options.staticBackup (default: false)

Type: Boolean

Backup and restore static attributes for each test.

options.colors (default: 'always')

Type: String Default: always

Use colors in output ("never", "auto" or "always").

Note: If using PHPUnit < 4.8.x, you can disable colors using 'disabled' or 'enabled' options

phpunit('',{colors: 'disabled'});  // disable colors
phpunit('',{colors: 'enabled'});   // enable colors

options.stderr (default: false)

Type: Boolean

Write to STDERR instead of STDOUT.

options.stopOnError (default: false)

Type: Boolean

Stop execution upon first error.

options.stopOnFailure (default: false)

Type: Boolean

Stop execution upon first error or failure.

options.stopOnRisky (default: false)

Type: Boolean

Stop execution upon first risky test.

options.stopOnIncomplete (default: false)

Type: Boolean

Stop execution upon first incomplete test.

options.stopOnSkipped (default: false)

Type: Boolean

Stop execution upon first skipped test.

options.loader

Type: String

TestSuiteLoader implementation to use.

options.repeat

Type: Integer | String

Runs the test(s) repeatedly.

options.tap

Type: Boolean

Report test execution progress in TAP format.

options.testdox

Type: Boolean

Report test execution progress in TestDox format.

options.printer

Type: String

TestSuiteListener implementation to use.

Configuration Options

options.bootstrap

Type: String

A "bootstrap" PHP file that is run before the tests.

options.configurationFile

Type: String

Read configuration from XML file.

options.noConfiguration

Type: Boolean

Ignore default configuration file (phpunit.xml).

options.includePath

Type: Boolean

Prepend PHP's include_path with given path(s).

Credits

gulp-phpunit written by Mike Erickson

E-Mail: [email protected]

Twitter: @codedungeon

Website: github.com/mikeerickson




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
avajs/gulp-ava: Run AVA tests发布时间:2022-06-21
下一篇:
xiongwilee/gulp-requirejs-boilerplate: gulp+requirejs+less多应用编译构建方案 ...发布时间:2022-06-21
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap