Bir PHAR arşivi olarak PHPUnit testleri Ambalaj?

1 Cevap php

Bir PHAR arşivi olarak PHPUnit testleri paketlemek ve phpunit kullanarak onları çalıştırmak mümkün mü?

. Ben takip komut ile eczacılıkta yarattık:

<?php
$cPhar = new Phar('mytests-archive.phar', 0);
$cPhar->addFile('mytest.php');

$sStub = <<<ENDSTUB
#! /usr/bin/php
<?php
Phar::mapPhar('mytest-archive.phar');
require 'phar://mytests-archive.phar/mytest.php';
__HALT_COMPILER();
ENDSTUB;

$cPhar->setStub($sStub);
$cPhar->compressFiles(Phar::GZ);
$cPhar->stopBuffering();
?>

Ama daha sonra aşağıdaki gibi çıkan arşiv çalışırken çalıştığınızda:

phpunit mytests-archive.phar

Ben hata mesajı alıyorum:

#! /usr/bin/php
PHPUnit 3.3.17 by Sebastian Bergmann.

Class MyTestClass could not be found in /path/to/mytests-archive.phar

PHPUnit PHAR dosyalarını desteklemiyor, ya da benim yapı komut bir adım eksik? (Bu PHAR kullanarak benim ilk denemem)

1 Cevap

Ben PHPUnit bir PHAR arşivinde testleri yapılmaktadır anladığını sanmıyorum. PHPUnit sadece geçti dosyasını yorumlama ve testler etmez; çalıştırmak için testin kaynağı okur ve daha sonra çalıştırır. Bu MyTestClass kaynağı arıyor gittiğinde arşivin içine kadar sarılır gibi Yani, onu bulamıyorum.