0
在我的應用我有這個奇怪的錯誤只測試的時候,我不是在我的回購文件夾測試任何類不過也有這樣的:PHPUnit的奇怪的錯誤
Call to undefined method Application_Model_Cache::getInstance() in C:\wamp\www\truCrowd_dev\application\models\Repo\User.php on line 12
我的用戶回購是:
class Application_Model_Repo_User
{
private $_database;
private $_cache ;
public function __construct()
{
$this->_database = Application_Model_Database::getInstance();
$this->_cache = Application_Model_Cache::getInstance();
$this->_longCache = Application_Model_Cache::getInstance(604800);
}
我的緩存類是:
class Application_Model_Cache
{
public static function getInstance($_expiration = 7200)
{
$frontend= array(
'lifetime' => $_expiration,
'automatic_serialization' => true
);
$backend= array(
'cache_dir' => './cache/',
);
$cache = Zend_Cache::factory('Output',
'File',
$frontend,
$backend
);
return $cache;
}
}
我的測試引導爲:
<?php
// Define path to application directory
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
// Define application environment
defined('APPLICATION_ENV') || define('APPLICATION_ENV', 'production');
// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../library'),
get_include_path(),
)));
require_once 'Zend/Loader/Autoloader.php';
Zend_Loader_Autoloader::getInstance();
我曾嘗試不必實例就可以改變其緩存類,但我得到了同樣的結果... 我的數據庫類具有完全相同的結構,但我haven`t在過去得到了這一點,現在我在開發中取得了進展我想進行測試並出現錯誤
您是否在模擬任何測試中的Application_Model_Cache類?取決於你做的方式,也許這個模擬被用作一個獨特的實例,所以這個方法不存在。另外,你是否試圖隔離使錯誤發生的測試? – gontrollez
如果我正在測試Cache類?你能解釋一下嗎? Zend_Cache似乎(至少對我來說)有一個singleton實現,所以可以創建多個實例... –
通過在我的配置中關閉緩存但仍然...: –