【问题标题】:Install PHPUnit solely through Grunt/NPM仅通过 Grunt/NPM 安装 PHPUnit
【发布时间】:2014-06-03 03:54:08
【问题描述】:
有没有办法只使用 NPM/Grunt 自动安装 PHPUnit?
我知道grunt-phpunit 包,但这仍然需要您使用 Composer 或其他工具安装 PHPUnit 本身。有没有一种简单的方法来自动化这个?
我正在设置一些将在本地运行并共享的自动化测试内容,我希望保持说明不变:
npm install -g grunt-cli
npm install
grunt
【问题讨论】:
标签:
continuous-integration
gruntjs
npm
【解决方案1】:
我想出了一个解决方案。它确实增加了一个步骤 (grunt install),但它可以解决问题。
基本上使用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);
});
});
};
'test/download' 是我存储 composer.phar 文件的位置,也是我从服务器获取文件的位置。如果你想改变它,只需改变那个目的地。