Installez PHPUnit uniquement via Grunt/NPM
-
20-12-2019 - |
Question
Existe-t-il un moyen d'installer automatiquement PHPUnit en utilisant uniquement NPM/Grunt ?
Je connais le grunt-phpunit
package, mais cela nécessite toujours que vous installiez PHPUnit lui-même avec Composer ou autre chose.Existe-t-il un moyen simple d'automatiser cela ?
Je travaille sur la mise en place de tests automatisés qui s'exécuteront localement et seront partagés, et j'aimerais conserver les instructions telles que :
npm install -g grunt-cli
npm install
grunt
La solution
J'ai trouvé une solution pour cela.Cela ajoute une étape supplémentaire (grunt install
), mais ça fait l'affaire.
Utilisez essentiellement le grunt-wget
package pour télécharger le fichier composer à partir de la page de téléchargement.
Utilisez ensuite ce script personnalisé pour exécuter le fichier composer et téléchargez-le :
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'
est l'emplacement où je stocke le fichier composer.phar et où j'ai récupéré le fichier depuis le serveur.Si vous souhaitez changer cela, changez simplement cette destination.