का उपयोग कर पीडीओ ऑब्जेक्ट का मज़ाक उड़ाते हुए मुझे पीडीओ ऑब्जेक्ट को PHPUnit के साथ मजाक करने में कठिनाई हो रही है।PHPUnit
वहाँ मेरी समस्या के बारे में वेब पर लेकिन मैं क्या इकट्ठा कर सकते हैं से अधिक से अधिक जानकारी हो प्रतीत नहीं होता:
- पीडीओ 'अंतिम' __wakeup और __sleep तरीकों है कि यह धारावाहिक होने से रोकने के है।
- PHPunit के नकली ऑब्जेक्ट कार्यान्वयन किसी बिंदु पर ऑब्जेक्ट को क्रमबद्ध करता है।
- यूनिट परीक्षण तब होता है जब पीडीओ द्वारा उत्पन्न PHP त्रुटि में विफल होता है।
, अपने इकाई परीक्षण करने के लिए निम्न पंक्ति जोड़कर एक विशेषता इस व्यवहार को रोकने के लिए होती है:
class MyTest extends PHPUnit_Framework_TestCase
{
protected $backupGlobals = FALSE;
// ...
}
स्रोत: http://sebastian-bergmann.de/archives/797-Global-Variables-and-PHPUnit.html
मेरे लिए काम यह नहीं है, अपने परीक्षण अभी भी पैदा करता है एक त्रुटि।
पूर्ण परीक्षण कोड:
class MyTest extends PHPUnit_Framework_TestCase
{
/**
* @var MyTest
*/
private $MyTestr;
protected $backupGlobals = FALSE;
/**
* Prepares the environment before running a test.
*/
protected function setUp()
{
parent::setUp();
}
/**
* Cleans up the environment after running a test.
*/
protected function tearDown()
{
parent::tearDown();
}
public function __construct()
{
$this->backupGlobals = false;
parent::__construct();
}
/**
* Tests MyTest->__construct()
*/
public function test__construct()
{
$pdoMock = $this->getMock('PDO', array('prepare'), array(), '', false);
$classToTest = new MyTest($pdoMock);
// Assert stuff here!
}
// More test code.......
किसी भी PHPUnit प्रो की मुझे एक हाथ दे सकता है?
धन्यवाद,
बेन
यह काम करता है। धन्यवाद! – uckelman
आप पिताजी हैं! बहुत बहुत धन्यवाद यह ठीक काम करता है। मैंने इस मुद्दे को हल करने के लिए छोड़ दिया था! –
मुझे मूल पोस्टर के समान समस्या थी और आपके समाधान का उपयोग किया। हालांकि अब मेरी टाइपिंगटिंग इसे पीडीओ के रूप में नहीं देखती है। 'पीडीओ का एक उदाहरण होना चाहिए, Mock_PDOMock_96936f72 दिया गया उदाहरण – nvanesch