2009-09-03 4 views
1

Drupal 6.13でSimpleTestモジュールバージョン6.x-2.8を使用しています。私はいくつかのテストを書いたカスタムモジュールを書いた。しかし、SimpleTestでは、カスタムモジュールに関連付けられたテーブルのコピーが作成されていないようです。何かをテーブルに挿入したり、SimpleTestでクエリを実行しようとするたびに例外メッセージが表示されます。DrupalのSimpleTestでカスタムテーブルのコピーが作成されない

すべてのINSERTクエリは、SimpleTestの結果ページでは、このようなものになる: テーブル 'db_name.simpletest692319new_table' のクエリを存在しません:simpletest692319new_table。INSERT INTO(...)

hook_schema()が定義がありますモジュールのための私の.installファイルで。私のテーブルを認識してそのコピーを作成するために、SimpleTestが必要とするものがあれば、誰にも分かりますか?

ありがとうございました。

+2

にあなたのモジュールを追加する必要があるカスタムモジュールを有効にしますsetUP関数を使って?何かのように: function setUp(){ parent :: setUp( 'my_module_name'); } – jhedstrom

+0

また、私はこれについてはわかりませんが、フックスキーマは.installファイルではなく.moduleファイルにあるべきです –

+0

jhedstrom:ありがとうございました。私は関数setUp(){親:: setUp()を持っていた。 }(パラメータなし)ので、パラメータとしてモジュール名を渡してみましたが、同じrsultsを取得しています。 Jeremy:フックスキーマは、.installファイルに存在する必要があります。 – Pamela

答えて

0

必要にのように見えるSimpleTestののCCKの実装を見てみる:

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

関連する問題