Welcome to the Cookbook

loading...

4.7.10 Tester les plugins

Les tests pour plugins sont créés dans leur propre répertoire, à l'intérieur du dossier plugins.

/app
     /plugins
         /pizza
             /tests
                  /cases
                  /fixtures
                  /groups

Ils fonctionnent tout simplement comme des tests normaux, mais vous devez penser à utiliser les conventions de nommage pour les plugins lors de l'import des classes. Ceci est un exemple de cas de test pour le modèle CommandePizza vu au chapitre plugins de ce manuel. Une différence par rapport aux autres tests se trouve à la première ligne où 'Pizza.CommandePizza' est importée. Vous avez aussi besoin de préfixer les fixtures de votre plugin avec 'plugin.nom_plugin'.

<?php 
App::import('Model', 'Pizza.CommandePizza');

class CommandePizzaCase extends CakeTestCase {

    // Fixtures du plugin situées dans /app/plugins/pizza/tests/fixtures/
    var $fixtures = array('plugin.pizza.commande_pizza');
    var $CommandePizzaTest;
    
    function testerQuelqueChose() {
        // ClassRegistry indique au modèle d'utiliser la connexion à la base de données de test
        $this->CommandePizzaTest =& ClassRegistry::init('CommandePizza');

        // effectuer quelque test utile ici
        $this->assertTrue(is_object($this->CommandePizzaTest));
    }
}
?>
  1. <?php
  2. App::import('Model', 'Pizza.CommandePizza');
  3. class CommandePizzaCase extends CakeTestCase {
  4. // Fixtures du plugin situées dans /app/plugins/pizza/tests/fixtures/
  5. var $fixtures = array('plugin.pizza.commande_pizza');
  6. var $CommandePizzaTest;
  7. function testerQuelqueChose() {
  8. // ClassRegistry indique au modèle d'utiliser la connexion à la base de données de test
  9. $this->CommandePizzaTest =& ClassRegistry::init('CommandePizza');
  10. // effectuer quelque test utile ici
  11. $this->assertTrue(is_object($this->CommandePizzaTest));
  12. }
  13. }
  14. ?>

Si vous voulez utiliser les fixtures de plugin dans les tests de votre application, vous pouvez les référencer en utilisant la syntaxe 'plugin.nomPlugin.nomFixture' dans le tableau $fixtures.

C'est tout ce qu'il y a à dire.