Установите PHPUnit исключительно через Grunt/NPM.
-
20-12-2019 - |
Вопрос
Есть ли способ автоматически установить PHPUnit, используя только NPM/Grunt?
Я знаю о grunt-phpunit
пакет, но для этого все равно потребуется установить сам PHPUnit с помощью Composer или чего-то еще.Есть ли простой способ автоматизировать это?
Я работаю над настройкой некоторых средств автоматического тестирования, которые будут запускаться локально и использоваться совместно, и я хотел бы сохранить инструкции в следующем виде:
npm install -g grunt-cli
npm install
grunt
Решение
Я нашел решение для этого.Это добавляет еще один шаг (grunt install
), но это делает свое дело.
В основном используйте grunt-wget
package для загрузки файла композитора со страницы загрузки.
Затем используйте этот собственный скрипт, чтобы запустить файл композитора и загрузить его:
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'
это место, где я храню файл композитора.phar и где я получил файл с сервера.Если вы хотите это изменить, просто измените пункт назначения.