2009-09-03 7 views
1

J'utilise le module SimpleTest version 6.x-2.8 avec Drupal 6.13. J'ai écrit un module personnalisé, pour lequel j'ai écrit quelques tests. Cependant, SimpleTest ne semble pas créer une copie de la table associée à mon module personnalisé, car j'obtiens un message d'exception chaque fois que j'essaie d'insérer quelque chose dans la table ou de l'interroger dans SimpleTest.SimpleTest de Drupal ne crée pas de copies de tables personnalisées

Toutes les requêtes d'insertion résultat dans quelque chose comme ceci dans la page de résultats SimpleTest: Table 'db_name.simpletest692319new_table' n'existe pas la requête: INSERT INTO simpletest692319new_table (...)

Il y a un hook_schema() définie dans mon fichier .install pour le module. Est-ce que quelqu'un sait s'il y a autre chose dont SimpleTest a besoin pour reconnaître ma table et en créer une copie?

Merci.

+2

sont ce qui vous permet le module personnalisé en utilisant la fonction setUP? Quelque chose comme: function setUp() { parent :: setUp ('my_module_name'); } – jhedstrom

+0

En outre, je ne suis pas sûr à ce sujet, mais le schéma de crochet doit être dans le fichier .module plutôt que le fichier .install –

+0

jhedstrom: Merci pour votre réponse. J'ai eu la fonction setUp() {parent :: setUp(); } (pas de paramètre) donc j'ai essayé de passer dans mon nom de module en paramètre, et je reçois toujours les mêmes résultats. Jeremy: hook schema doit figurer dans le fichier .install. – Pamela

Répondre

0

Regarder la mise en œuvre de CCK SimpleTest il semble que vous devez:

function setUp() { 
    $args = func_get_args(); 
    $modules = array_merge(array('my', 'list', 'of', 'modules'), $args); 
    call_user_func_array(array('parent','setUp'), $modules); 
    } 
2

Le problème est que vous devez étendre DrupalWebTestCase et ajoutez votre module setUp

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

Celui-ci est étrange. Votre solution fonctionne, mais ce qui la rend difficile à croire, c'est que malgré le fait que le schéma du module n'est pas installé, des fonctions spécifiques au module sont trouvées et peuvent être exécutées. Donc, normalement, vous supposeriez que le module est entièrement fonctionnel. – berliner