2016-10-14 6 views
8

मेरी परीक्षण परियोजना की PHPUnit का उपयोग कर चलाने के लिए नहीं मिला कर सकते हैं मैं निम्न कार्य करें: php vendor/bin/phpunit tests/SomeClassTest.php जो ठीक निम्नलिखित वर्ग घोषणा को देखते हुए काम करता है:PHPUnit "testcase" वर्ग

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

लेकिन यह विफल रहता है जब मैं यह कर :

use PHPUnit\Framework\TestCase; 

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

मैं PHP Fatal error: Class 'PHPUnit\Framework\TestCase' not found मिलता है ...

+0

PHPUnit का आप किस संस्करण का उपयोग कर रहे हैं? – martin

+0

@ मार्टिन PHPUnit 4.8.24 – Flawyte

उत्तर

6

कक्षा TestCase PHPUnit 5.4 के बाद से ही मौजूद है। PHPUnit_Framework_TestCase से (ज्यादातर समय)

"ClassTest inherits: आप इसे GitHub पर देख सकते हैं अगर आप 5.3 tag सेट (ForwardCompatibility फ़ोल्डर के लिए देखो) या आप 2. Writing Tests for PHPUnit खंड में 5.3 और 5.4 के लिए डॉक तुलना कर सकते हैं जहां यह कहते हैं। " PHPUnit 5.3

और

के लिए "ClassTest inherits (ज्यादातर समय) PHPUnit \ फ्रेमवर्क \ testcase से।" PHPUnit 5.4

3

मेरी लाइब्रेरी में मैंने अभी भी PHP 5.4 द्वारा उपयोग करने योग्य के रूप में चिह्नित किया है, मुझे गैर-नामित/नामित अंतर को पुल करने के लिए इसे अपने शीर्ष-स्तर टेस्टकेस वर्ग में जोड़ना पड़ा है, PHPUnit का कौन सा संस्करण रनटाइम PHP संस्करण के आधार पर संगीतकार द्वारा स्थापित किया जाता है।

/* 
* 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 
{ 

यह PHP 5.4 (PHPUnit 4.8.34) पर PHP 7.1 (PHPUnit 6.0.2) तक ठीक काम करता है।