仅通过Grunt / NPM安装PHPUnit

时间:2014-06-02 17:50:48

标签: continuous-integration gruntjs npm

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

我知道grunt-phpunit包,但这仍然要求您使用Composer或其他东西安装PHPUnit本身。有一种简单的方法可以实现自动化吗?

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

npm install -g grunt-cli
npm install
grunt

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。它确实添加了一个步骤(grunt install),但它可以解决问题。

基本上使用grunt-wget包从下载页面下载作曲家文件。

然后使用此自定义脚本运行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);
        });
    });
};

'test/download'是我存储composer.phar文件的位置,以及我从服务器中获取文件的位置。如果要更改它,只需更改该目标。