2009-09-03 54 views
1

我在Drupal 6.13中使用SimpleTest模塊版本6.x-2.8。我寫了一個自定義模塊,爲此我編寫了一些測試。但是,SimpleTest似乎並沒有創建與我的自定義模塊相關聯的表的副本,因爲每次嘗試向表中插入內容或在SimpleTest中查詢時都會收到異常消息。Drupal的SimpleTest不創建定製表的副本

所有插入查詢結果存入在SimpleTest的結果頁面是這樣的: 表 'db_name.simpletest692319new_table' 不存在查詢:INSERT INTO simpletest692319new_table(...)

有一個hook_schema()定義在我的模塊的.install文件中。有誰知道是否還有其他SimpleTest需要用來識別我的表格並創建它的副本?

謝謝。

+2

你啓用自定義模塊使用setUP函數?例如: function setUp(){ parent :: setUp('my_module_name'); } – jhedstrom 2009-09-03 00:54:16

+0

此外,我不確定這一點,但鉤模式應在.module文件而不是.install文件 – 2009-09-03 09:22:46

+0

jhedstrom:感謝您的迴應。我有函數setUp(){parent :: setUp(); }(沒有參數),所以我嘗試作爲參數傳入我的模塊名稱,並且仍然獲得相同的rsults。 Jeremy:鉤子模式應該在.install文件中。 – Pamela 2009-09-03 17:28:22

回答

0

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

的問題是你必須擴展DrupalWebTestCase和你的模塊添加到安裝程序

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

這個很奇怪。您的解決方案可以正常工作,但難以置信的是,儘管未安裝模塊模式,但可以找到並執行模塊特定的功能。所以通常你會認爲這個模塊功能齊全。 – berliner 2013-11-08 12:19:14