2016-10-14 21 views
8

bulunamadı I aşağıdakileri yapın: ince Aşağıdaki sınıf beyanı verilen işleri php vendor/bin/phpunit tests/SomeClassTest.php:PHPUnit projenin PHPUnit kullanarak testlerini çalıştırmak için "dizge" sınıfı

class SomeClassTest extends PHPUnit_Framework_TestCase { 
    public function test_someMethod() {} 
} 

Ama bunu yaparken başarısız :

use PHPUnit\Framework\TestCase; 

class SomeClassTest extends TestCase { 
    public function test_someMethod() {} 
} 

Ben

+0

Hangi PHPUnit sürümünü kullanıyorsunuz? – martin

+0

@Martin PHPUnit 4.8.24 – Flawyte

cevap

6

Sınıf TestCase PHPUnit 5.4 beri var ... PHP Fatal error: Class 'PHPUnit\Framework\TestCase' not found olsun. PHPUnit_Framework_TestCase dan (çoğu zaman)

"ClassTest devralır: Eğer 5.3 tag ayarlarsanız (ForwardCompatibility klasörün arayın) github görebilirsiniz ya diyor nerede 2. Writing Tests for PHPUnit bölümünde 5.3 ve 5.4 için doktor karşılaştırabilirsiniz. " PHPUnit 5.3

ve

için "ClassTest devralır PHPUnit \ Framework \ TestCase dan (çoğu zaman)." PHPUnit için 5.4

3

Yine de PHP 5.4 tarafından kullanılabilir olarak işaretlendiğim kitaplığımda, isim-alanı olmayan/ad-alanı farklılığı köprülemek için üst düzey testcase sınıfıma eklemeliydim. PHPUnit'in hangi sürümü çalışma zamanı PHP sürümüne göre Composer tarafından yüklenir.

/* 
* Allow for PHPUnit 4.* while XML_Util is still usable on PHP 5.4 
*/ 
if (!class_exists('PHPUnit_Framework_TestCase')) { 
    class PHPUnit_Framework_TestCase extends \PHPUnit\Framework\TestCase {} 
} 

abstract class AbstractUnitTests extends \PHPUnit_Framework_TestCase 
{ 

Bu PHP 7.1 (PHPUnit 6.0.2) kadar PHP 5.4 (PHPUnit 4.8.34) üzerinde çalışıyor.