Le testing dans Drupal 8

Fichier composer.json de drupal/core-dev

{
    "name": "drupal/core-dev",
    "type": "metapackage",
    "description": "require-dev dependencies from drupal/drupal; use in addition to drupal/core-recommended to run tests from drupal/core.",
    "license": "GPL-2.0-or-later",
    "conflict": {
        "webflo/drupal-core-require-dev": "*"
    },
    "require": {
        "behat/mink": "1.8.0 | 1.7.1.1 | 1.7.x-dev",
        "behat/mink-goutte-driver": "^1.2",
        "behat/mink-selenium2-driver": "1.4.0 | 1.3.1.1 | 1.3.x-dev",
        "composer/composer": "^1.9.1",
        "drupal/coder": "^8.3.2",
        "jcalderonzumba/gastonjs": "^1.0.2",
        "jcalderonzumba/mink-phantomjs-driver": "^0.3.1",
        "justinrainbow/json-schema": "^5.2",
        "mikey179/vfsstream": "^1.6.8",
        "phpspec/prophecy": "^1.7",
        "phpunit/phpunit": "^6.5 || ^7",
        "symfony/browser-kit": "^3.4.0",
        "symfony/css-selector": "^3.4.0",
        "symfony/debug": "^3.4.0",
        "symfony/filesystem": "~3.4.0",
        "symfony/finder": "~3.4.0",
        "symfony/lock": "~3.4.0",
        "symfony/phpunit-bridge": "^3.4.3"
    }
}

A retenir :

Et surtout : il faut considérer ces outils comme étant régulièrement utilisés pour le développement du Core de Drupal 8 (c’est la version de mon composer.json)

  • Cela ne signifie pas qu’ils sont tous systématiquement utilisés partout et tout le temps
  • Donc il faut regarder pour chacun ce pour quoi ils sont utilisés et comment
  • Cela ne veut pas dire non plus qu’ils sont systématiquement utilisés pour tous les modules de la communauté Drupal : il est préférable de mettre en place un outillage de contrôle qualité qui est homogène sur tout le code qui est contribué, ne serait-ce que pour avoir des comparables.

Pour un niveau d’exigence parfois contrariant : vijaycs85/drupal-quality-checker qui s’appuie sur GrumPHP https://github.com/phpro/grumphp
Lire cet intéressant article de Lullabot : https://www.lullabot.com/articles/how-enforce-drupal-coding-standards-git

Les Forums

Le Forum est probablement un des outils que j’aime le moins tant il est le plsu souvent mis en place par facilité, en lieu et place d’un outil alternatif qui serait mieux adapté. Et surtout car l’essentiel de son usage est le plus souvent mal réalisé : l’animation, et la modération.

Décider d’ouvrir un Forum, c’est avant tout décider que la conversation entre les membres d’une communauté est le cœur de valeur de celle-ci. Ne pas investir le temps et les ressources nécessaires à sa bonne animation, c’est trahir la promesse initiale.

Croire qu’un Forum peut vivre tout seul, et que son animation peut être de faible investissement est l’erreur la plus mortelle qui puisse être faite.

Parmi les nombreux outils libres qui traite le besoin, le projet qui me vient le premier à l’esprit est généralement Discourse.