【发布时间】:2011-12-15 11:44:56
【问题描述】:
SimpleTesting-PDOException: SQLSTATE[42S02] 查看编辑修订 ichionid 于 2011 年 12 月 15 日上午 10:56 发布 大家好,
我正在开发一个模块。我正在尝试合并 SimpleTest 模块,以便有一个单独的地方包含我的代码测试。
但是,当我尝试对由我构建的数据库中的表运行查询时,我得到: PDOException: SQLSTATE[42S02]: 未找到基表或视图:1146 表'playground.simpletest311135TABLENAME
它会尝试查找表 simpletest311135TABLENAME,而它应该查找 TABLENAME。它总是添加 simpletest 和一些随机数。
当我对 drupal 默认表(如用户和会话)运行查询时,一切正常。有什么解决方法吗?
詹尼斯
实际功能是
function dlm_job_finished($jobId,$urls,$messageFromFS){
$query = db_select('users','u');
$query -> fields('u',array('uid'));
$d_alias = $query->innerJoin('dlm_user_auth_entities','d','%alias.uid = u.uid');
$query -> condition("{$d_alias}.jid",$jobId);
$result = $query->execute();
$message = variable_get('dlm_settings_email_message').'<br />';
foreach ($result as $record) {
foreach ($urls as $file_url_to_download){
$message.= '<a href="'.$file_url_to_download.'">'.$file_url_to_download.'</a> <br /> ';
}
$message.=$messageFromFS.'<br />';
dlm_mail_notifier($record->uid,$message);
}
}
测试函数是:
class DlmTestCase extends DrupalWebTestCase{
public function setUp(){
parent::setUp('dlm');
}
public function testDlmJobFinished(){
$info = module_invoke(
'dlm',
'job_finished',
'awsedrfvcxzsdfrtawsedrfvcxzsdfrt',
array(
'http://media.holkeydonkey.com/download/frehvf64fdsffdf.zip',
'http://media.marioBos.com/download/12.zip',
),
"additional message!"
);
}
}
在测试类中,我所做的唯一功能是查询默认的 drupal 数据库表。此外,上面的函数正在工作,我以不同的方式调用它并且它工作,问题是我无法让它与 Drupal 的 simpletesting 模块一起工作。
【问题讨论】:
-
您能否发布导致此错误的具体代码行?
-
请看上面的编辑版本!
标签: drupal-7 simpletest