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