Installieren Sie PHPUnit ausschließlich über Grunt/NPM
-
20-12-2019 - |
Frage
Gibt es eine Möglichkeit, PHPUnit automatisch nur mit NPM/Grunt zu installieren?
Ich weiß davon grunt-phpunit
Paket, aber dies erfordert immer noch, dass Sie PHPUnit selbst mit Composer oder etwas anderem installieren.Gibt es eine einfache Möglichkeit, dies zu automatisieren?
Ich arbeite daran, einige automatisierte Testfunktionen einzurichten, die lokal ausgeführt und geteilt werden, und ich möchte die Anweisungen wie folgt belassen:
npm install -g grunt-cli
npm install
grunt
Lösung
Ich habe eine Lösung dafür gefunden.Es fügt einen weiteren Schritt hinzu (grunt install
), aber es funktioniert.
Verwenden Sie grundsätzlich die grunt-wget
Paket, um die Composer-Datei von der Download-Seite herunterzuladen.
Verwenden Sie dann dieses benutzerdefinierte Skript, um die Composer-Datei auszuführen und herunterzuladen:
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'
ist der Ort, an dem ich die Datei „composer.phar“ speichere und an dem ich die Datei vom Server heruntergeladen habe.Wenn Sie das ändern möchten, ändern Sie einfach das Ziel.