多個數據集是否有可能在加載多的PHPUnit平整的xml數據集加載大量的傢俱?PHPUnit的:數據庫測試
我們正在寫一個相當複雜的應用程序和XML數據集變得相當大,所以我想它陷入2-3的XML。
下面是一個測試用例當前代碼:
<?php
class My_TestBase extends Zend_Test_PHPUnit_DatabaseTestCase{
/**
* Zend_Application
* @var Zend_Application
*/
protected $_application;
/**
* Connection
*
* @var Zend_Test_PHPUnit_Db_Connection
*/
private $_connection;
/**
* Returns the test database connection.
*
* @link http://framework.zend.com/wiki/display/ZFPROP/Zend_Test_PHPUnit_Database+-+Benjamin+Eberlei
* @return PHPUnit_Extensions_Database_DB_IDatabaseConnection
*/
protected function getConnection(){
if($this->_connection === null){
$Resources = $this->_application->getOption("resources");
$conn = Zend_Db::factory($Resources["db"]["adapter"], $Resources["db"]["params"]);
$this->_connection = $this->createZendDbConnection($conn, $Resources["db"]["params"]["dbname"]);
}
return $this->_connection;
}
/**
* Returns the test dataset.
*
* @link http://framework.zend.com/wiki/display/ZFPROP/Zend_Test_PHPUnit_Database+-+Benjamin+Eberlei
* @return PHPUnit_Extensions_Database_DataSet_IDataSet
*/
protected function getDataSet(){
return $this->createFlatXMLDataSet(__DIR__."/seed_data.xml");
}
/**
* Setup
*/
protected function setUp(){
$this->_application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/application.ini'
);
}
}
哇,恰好碰到了同樣的問題,但不是處理複雜的數據集,我寧願讓他們的原子,使他們能夠在其他測試中使用。將數據集緊密結合到特定測試沒有多大意義。你能弄明白嗎? –
不幸的是,不!我們有很多,每次考試所需的夾具(我們有好幾個表連接在一起),複製燈具在每個測試情況下,許多文件可以到十個分量對我們來說是痛苦。去與劈裂XML燈具的唯一方法就是建立一些包裝類Zend_Test_PHPUnit_DatabaseTestCase和編寫一個「addXmlFile」的方法,但我沒有時間這樣做。下一次,我會明確地使用單獨的yaml裝置在需要時加載。 –