Pergunta

Existe uma maneira de instalar o PHPUnit automaticamente usando apenas NPM/Grunhido?

O que eu sei sobre o grunt-phpunit o pacote, mas isso ainda requer que você instalar o PHPUnit-se com o Compositor ou de qualquer outra coisa.Existe uma maneira fácil de automatizar isso?

Eu estou trabalhando na criação de algumas de testes automatizados coisas que vai executar localmente e pode ser compartilhado, e eu gostaria de manter as instruções de como apenas:

npm install -g grunt-cli
npm install
grunt
Foi útil?

Solução

Eu descobri uma solução para isso.Ela adiciona um passo a mais (grunt install), mas ele faz o truque.

Basicamente use o grunt-wget pacote para baixar o compositor ficheiro a partir da página de download.

Em seguida, use este script personalizado para executar o compositor arquivo e baixá-lo:

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' é o local do arquivo e o compositor.phar arquivo e o lugar onde eu wget-ed o arquivo do servidor.Se você quiser mudar isso, basta alterar o destino.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top