2009-09-03 2 views
1

Я использую модуль SimpleTest версии 6.x-2.8 с Drupal 6.13. Я написал специальный модуль, для которого я написал несколько тестов. Однако SimpleTest, похоже, не создает копию таблицы, связанной с моим настраиваемым модулем, потому что я получаю сообщение об исключении для каждого раза, когда я пытаюсь вставить что-то в таблицу или запросить его в SimpleTest.Drupal's SimpleTest не создает копии пользовательских таблиц

Все запросы вставки привести к чему-то вроде этого на странице результатов SimpleTest: Таблица 'db_name.simpletest692319new_table' не существует запрос: INSERT INTO simpletest692319new_table (...)

Существует hook_schema() определяется в моем файле .install для модуля. Кто-нибудь знает, есть ли что-нибудь еще, что нужно SimpleTest, чтобы узнать мою таблицу и создать ее копию?

Спасибо.

+2

вы позволяя пользовательский модуль используя функцию setUP? Что-то вроде: функция setUp() { parent :: setUp ('my_module_name'); } – jhedstrom

+0

Кроме того, я не уверен в этом, но если схема крюка находится в файле .module, а не файл .install –

+0

jhedstrom: Спасибо за ваш ответ. У меня была функция setUp() {parent :: setUp(); } (без параметра), поэтому я попытался передать имя моего модуля в качестве параметра, и все равно получаю одинаковые rsults. Джереми: схема hook должна находиться в файле .install. – Pamela

ответ

0

Глядя на реализацию ССК о 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

Смежные вопросы