Comment tester Drupal Code?

Cet article vous guidera pour commencer à écrire des tests pour votre code Drupal
Cet article vous guidera pour commencer à écrire des tests pour votre code Drupal.

Cet article vous guidera pour commencer à écrire des tests pour votre code Drupal. Nous partons du principe que le code que vous écrivez est principalement dans une coutume ou «contrib» (communauté cotisés) le module Drupal.Il existe de nombreuses façons de tester un site Drupal, mais à tester le code Drupal moyens les plus populaires est les tests unitaires et d' intégration essai. Cet article couvrira les tests unitaires. Le moyen le plus simple d'écrire et d'exécuter des tests dans Drupal 7 et Drupal 8 consiste à utiliser le module Simpletest, que ce guide couvrira. Cependant, notez que les développeurs principaux de Drupal ont commencé à utiliser un framework de test différent - PHP Unit - pour le développement de Drupal 8.

Pas

  1. 1
    Activez le module le plus simple. Assurez-vous que vous êtes connecté à votre site Web Drupal en tant qu'administrateur. À l'aide du menu administratif, accédez à la page 'Modules', recherchez 'Simpletest' et cliquez pour l'activer. Il doit déjà être installé avec le noyau Drupal.
  2. 2
    Parcourez les tests déjà disponibles sur votre site. Dans n'importe quel site Web Drupal, tous les modules de base et de nombreux modules de contrib installés auront déjà de nombreux tests écrits pour Simpletest. Vous pouvez les voir tous en allant dans 'Configuration' > 'Développement' > 'Test'. Les parcourir devrait vous donner une meilleure idée de ce que vous pouvez tester et de la façon dont vous pouvez étiqueter vos tests.
  3. 3
    Essayez les tests déjà disponibles.
  4. 4
    Préparez votre module pour l'écriture de tests. Dans votre dossier de module, ajoutez un fichier nommé 'modulename.test'. Il s'agit d'un fichier PHP auquel vous devez ajouter tous vos tests. Ensuite, dans votre fichier.info, informez Drupal du fichier en utilisant files[] = modulename.test.
  5. 5
    Ajoutez votre première classe de cas de test.
    <?php /** * @file * Description du fichier. */ class ModuleNameUnitTestsTestCase extend DrupalUnitTestCase { public static function getInfo() { // Remarque: les chaînes getInfo() ne doivent pas être traduites. return array('name' => 'Functions tests', 'description' => 'Test que diverses fonctions fonctionnent correctement.', 'group' => 'Module Name',); } } 
    Notez que les développeurs principaux de Drupal ont commencé à utiliser un framework de test différent - PHP
    Cependant, notez que les développeurs principaux de Drupal ont commencé à utiliser un framework de test différent - PHP Unit - pour le développement de Drupal 8.
  6. 6
    Écrivez du code de test. Imaginez que vous ayez écrit cette fonction et que vous vouliez tester son bon fonctionnement:
    • function negate($int) { return $int * -1; } 
    • Vous pourriez écrire un test (dans votre modulename.testfichier, après la getInfo()méthode) comme ceci:
    • public function testNegates() { $result = negate(5); } 
  7. 7
    Écrivez une assertion qui vérifie la sortie du code de test. Pour le moment, la méthode de l'étape précédente ne vérifie en aucun cas le résultat du test. Pour nous assurer que la valeur correspond à ce que nous attendons, nous écrivons une assertion. Dans ce cas, nous ajouterons assertEqual() à notre méthode pour vérifier que le résultat est égal à -5. De plus, nous ajouterons un message et un groupe à notre assertion, ce qui sera utile lorsque nous exécuterons le test plus tard.
    public function testNegates() { $message = "negate() devrait renvoyer un entier négatif."; $group = "Calcul"; $result = negate(5); $this->assertEqual($result, -5, $message, $group); } 
  8. 8
    Exécutez votre premier test. Dans Drupal, retournez à la page Tests. Parmi la liste des tests, vous devriez voir le nom de votre module (si 'group' dans votre méthode getInfo() est égal au nom de votre module). Si vous ne le voyez pas, vous devrez peut-être vider le cache Drupal (en particulier, le cache "class"). Activez maintenant votre test en cochant la case et sélectionnez « Exécuter les tests». Après quelques secondes, vous devriez voir votre test, et le résultat! Il doit être rouge si le test a échoué et vert s'il a réussi.
  9. 9
    En savoir plus sur simpletest. Vous pouvez en savoir plus sur les assertions disponibles sur la page DrupalTestCase de l'API Drupal.

Conseils

  • Testez tôt. Dès que vous écrivez du code qui ajoute de nouvelles fonctionnalités ou corrige des fonctionnalités cassées, écrivez un test pour vous assurer qu'il fonctionne comme prévu.
    Dans n'importe quel site Web Drupal
    Dans n'importe quel site Web Drupal, tous les modules de base et de nombreux modules de contrib installés auront déjà de nombreux tests écrits pour Simpletest.
  • Testez souvent. Continuez à écrire des tests pendant que vous écrivez du code afin qu'il devienne une partie de votre processus et ne devienne pas une corvée que vous laissez à la fin et que vous ignorez.
  • Testez automatiquement. Si possible, utilisez des outils qui permettent d'exécuter régulièrement vos tests sans que vous ayez à les exécuter vous-même.
  • Les tests ne sont pas effectués tant que tous les tests ne sont pas exécutés. S'assurer que votre code réussit tous vos tests avant de le transmettre à un client ou à des utilisateurs signifie qu'il est beaucoup moins probable que vous deviez revenir et réparer les choses plus tard, et cela améliorera votre réputation et votre confiance en même temps.

FacebookTwitterInstagramPinterestLinkedInGoogle+YoutubeRedditDribbbleBehanceGithubCodePenWhatsappEmail