Drupal';s SimpleTest不创建自定义表的副本

Drupal';s SimpleTest不创建自定义表的副本,drupal,simpletest,Drupal,Simpletest,我在Drupal6.13中使用SimpleTest模块版本6.x-2.8。我编写了一个自定义模块,并为此编写了一些测试。但是,SimpleTest似乎没有创建与自定义模块关联的表的副本,因为每当我尝试在SimpleTest中向表中插入或查询某个内容时,都会收到一条异常消息 在SimpleTest结果页面中,所有insert查询的结果如下所示: 表“db_name.simpletest692319new_Table”不存在查询:插入simpletest692319new_表(…) 在模块的my.i

我在Drupal6.13中使用SimpleTest模块版本6.x-2.8。我编写了一个自定义模块,并为此编写了一些测试。但是,SimpleTest似乎没有创建与自定义模块关联的表的副本,因为每当我尝试在SimpleTest中向表中插入或查询某个内容时,都会收到一条异常消息

在SimpleTest结果页面中,所有insert查询的结果如下所示: 表“db_name.simpletest692319new_Table”不存在查询:插入simpletest692319new_表(…)

在模块的my.install文件中定义了一个hook_schema()。有人知道SimpleTest还需要什么来识别我的表并创建它的副本吗


谢谢。

看看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);
  }

问题是您必须扩展DrupalWebTestCase并将模块添加到安装程序中

class MyTest extends DrupalWebTestCase {
    function setUp() {
        parent::setUp('mymodule');
    }
}

是否使用设置功能启用自定义模块?类似于:function setUp(){parent::setUp('my_module_name');}同样,我也不确定这一点,但是钩子模式应该在.module文件中,而不是.install文件中吗。我有函数setUp(){parent::setUp();}(没有参数),所以我尝试将模块名作为参数传入,但仍然得到相同的结果。Jeremy:hook模式应该在.install文件中。你的hook\u安装是否运行drupal\u安装模式功能?我见过simpletests使用自定义表,所以我知道它是有效的。你能发布你的密码吗?这个很奇怪。您的解决方案是可行的,但令人难以置信的是,尽管没有安装模块架构,但仍然可以找到并执行特定于模块的功能。因此,通常情况下,您会假设模块功能齐全。