配置/ test.php的Yii的單元測試固定裝置在測試中不可訪問
'components'=>array(
'fixture'=>array(
'class'=>'system.test.CDbFxtureManager'
),
),
測試/單元/ EntityTest.php(延伸CDbTestCase)
public $fixtures = array('entities'=>'Entity'),
測試/裝置/ Entity.php
現在return array(
'entity1'=>array('slug'=>'slug1', 'title'=>'title1'),
'entity2'=>array('slug'=>'slug2', 'title'=>'title2'),
);
,在EntityTest類我試圖讓我的實體
$entities = $this->entities;
$entity = $this->entities('entity1');
對於類「EntityTest」,輸出是「未知屬性」實體「。測試類是「實體」,在數據庫表名是「tbl_entity」的「CDbConnection」組件設置爲「tbl_」 tablePrefix'選項
在訪問'$ this-> entities'之前,先把'var_dump($ this);'看看它有什麼屬性。另外,你期望它持有什麼樣的價值?它看起來像你試圖把它作爲一個函數在下面的行而不是作爲一個屬性訪問它。也許只是刪除'$ entities = $ this-> entities''行。 – 2012-01-17 23:31:04
您有錯誤打印:「CDbFxtureManager」=>「CDbFixtureManager」 – Oleg 2012-01-18 06:54:11
嘗試其替代語法,'$ entity = $ this-> entities ['entity1'];' – Elvan 2012-02-11 10:20:57