我正在使用带有 Drupal 6.13 的 SimpleTest 模块版本 6.x-2.8。我编写了一个自定义模块,并为其编写了一些测试。但是,SimpleTest 似乎没有创建与我的自定义模块关联的表的副本,因为每次尝试在表中插入某些内容或在 SimpleTest 中查询它时,我都会收到一条异常消息。
所有插入查询都会在 SimpleTest 结果页面中生成如下所示的结果: 表“db_name.simpletest692319new_table”不存在查询:INSERT INTO simpletest692319new_table(...)
在我的模块的 .install 文件中定义了一个 hook_schema() 。有谁知道 SimpleTest 是否还需要其他任何东西才能识别我的表并创建它的副本?
谢谢。
问题是你必须扩展 DrupalWebTestCase 并将模块添加到 setUp
class MyTest extends DrupalWebTestCase {
function setUp() {
parent::setUp('mymodule');
}
}
看看 CCK 的 SimpleTest 实现,看起来您需要:
function setUp() {
$args = func_get_args();
$modules = array_merge(array('my', 'list', 'of', 'modules'), $args);
call_user_func_array(array('parent','setUp'), $modules);
}