मैं वर्तमान में अपने प्रोजेक्ट के लिए PHPUnit और DBUnit का उपयोग कर रहा हूं। मुझे डीबीयूनीट में कोई समस्या है क्योंकि डीबीयूनीट PHPUnit_Extensions_Database_TestCase
Src कक्षा परीक्षण डीबी पर मौजूदा डेटा को कम नहीं कर रही है। इसलिए यह केवल एक समय के लिए काम करने के बाद मेरे सम्मिलन परीक्षण विफल रहता है।phpunit में dbunit तालिकाओं को छोटा नहीं कर रहा है
abstract class Generic_Tests_DatabaseTestCase extends PHPUnit_Extensions_Database_TestCase
{
// only instantiate pdo once for test clean-up/fixture load
static private $pdo = null;
// only instantiate PHPUnit_Extensions_Database_DB_IDatabaseConnection once per test
private $conn = null;
final public function getConnection()
{
if ($this->conn === null) {
if (self::$pdo == null) {
self::$pdo = new PDO("mysql:dbname=db;host=localhost", "root", "pass");
}
$this->conn = $this->createDefaultDBConnection(self::$pdo, "db");
}
return $this->conn;
}
}
class DbopTest extends Generic_Tests_DatabaseTestCase
{
private $db;
protected function setup(){
$this->db = null;
}
public function getDataSet(){
return $this->createMySQLXMLDataSet(dirname(__FILE__) . '/../rows.xml');
}
...
}
तो मैं इस समस्या को कैसे ठीक कर सकते हैं:
मैं mysql उपयोग कर रहा हूँ और यहाँ मेरे कोड है? यह क्या है कि मैं यहाँ गलत करता हूँ?
इच्छाशक्ति छंटनी कहाँ होती है? PHPUnit का कौन सा संस्करण और डीबीयूनीट का कौन सा संस्करण आप उपयोग कर रहे हैं? – hakre
समस्या है, मुझे लगता है कि मेरी getDataSet विधि में, छंटनी स्वचालित रूप से चलती है। लेकिन मैं ऐसा नहीं देख सकता। मैं PHP यूनिट 3.6.10 का उपयोग कर रहा हूँ। – LostMohican
यह सिर्फ एक अनुमान है, लेकिन आप 'setUp()' विधि को ओवरराइट कर रहे हैं। कृपया जांचें कि 'getDataSet() 'अभी भी कॉल किया जा रहा है या नहीं। – hakre