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
Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top