Continuous integration 仅通过Grunt/NPM安装PHPUnit

Continuous integration 仅通过Grunt/NPM安装PHPUnit,continuous-integration,gruntjs,npm,Continuous Integration,Gruntjs,Npm,有没有办法只使用NPM/Grunt自动安装PHPUnit 我了解grunt phpunit软件包,但这仍然要求您使用Composer或其他工具安装phpunit本身。有没有一种简单的方法来实现自动化 我正在设置一些自动测试工具,这些工具将在本地运行并共享,我希望将说明保留为: npm install -g grunt-cli npm install grunt 我想出了一个解决办法。它确实增加了一个步骤(grunt安装),但它做到了这一点 基本上使用grunt wget包从下载页面下载comp

有没有办法只使用NPM/Grunt自动安装PHPUnit

我了解
grunt phpunit
软件包,但这仍然要求您使用Composer或其他工具安装phpunit本身。有没有一种简单的方法来实现自动化

我正在设置一些自动测试工具,这些工具将在本地运行并共享,我希望将说明保留为:

npm install -g grunt-cli
npm install
grunt

我想出了一个解决办法。它确实增加了一个步骤(
grunt安装
),但它做到了这一点

基本上使用
grunt wget
包从下载页面下载composer文件

然后使用此自定义脚本运行composer文件并下载:

module.exports = function (grunt) {
    grunt.registerTask('install-composer', function() {
        var spawn = require('child_process').spawn;
        var done = this.async();

        var php = spawn('php', ['composer-install.php'], {cwd: 'test/download'});

        php.stdout.on('data', function (data) {
            grunt.log.debug(data);
        });

        php.stderr.on('data', function (data) {
            grunt.log.error(data);
            done(false);
        });

        php.on('close', function (code) {
            done(code === 0);
        });
    });
};
“测试/下载”
是我存储composer.phar文件的位置,也是我从服务器下载文件的位置。如果你想改变这一点,只需改变目的地