16. Intégration d’atoum dans votre IDE

16.1. Sublime Text 2

Un plug-in pour SublimeText 2 permet l’exécution des tests unitaires par atoum et la visualisation du résultat sans quitter l’éditeur.

Les informations nécessaires à son installation et à sa configuration sont disponibles sur le blog de son auteur.

16.2. VIM

atoum est livré avec un plug-in facilitant son utilisation dans l’éditeur VIM.

Il permet d’exécuter les tests sans quitter VIM et d’obtenir le rapport correspondant dans une fenêtre de l’éditeur.

Il est alors possible de naviguer parmi les éventuelles erreurs, voire de se rendre à la ligne correspondant à une assertion ne passant pas à l’aide d’une simple combinaison de touches.

16.2.1. Installation du plug-in atoum pour VIM

Vous trouverez le fichier correspondant au plug-in, nommé atoum.vmb, dans le répertoire resources/vim.

Si vous utilisez l’archive PHAR, il faut extraire le fichier à l’aide de la commande suivante :

$ php atoum.phar --extractResourcesTo path/to/a/directory

Une fois l’extraction réalisée, le fichier atoum.vmb correspondant au plug-in pour VIM sera dans le répertoire path/to/a/directory/resources/vim.

Une fois en possession du fichier atoum.vmb, il faut l’éditer à l’aide de VIM :

$ vim path/to/atoum.vmb

Il n’y a plus ensuite qu’à demander à VIM l’installation du plug-in à l’aide de la commande :

:source %

16.2.2. Utilisation du plug-in atoum pour VIM

Pour utiliser le plug-in, atoum doit évidemment être installé et vous devez être en train d’éditer un fichier contenant une classe de tests unitaires basée sur atoum.

Une fois dans cette configuration, la commande suivante lancera l’exécution des tests :

:Atoum

Les tests sont alors exécutés, et une fois qu’ils sont terminés, un rapport basé sur le fichier de configuration d’atoum qui se trouve dans le répertoire ftplugin/php/atoum.vim de votre répertoire .vim est généré dans une nouvelle fenêtre.

Évidemment, vous êtes libre de lier cette commande à la combinaison de touches de votre choix, en ajoutant par exemple la ligne suivante dans votre fichier .vimrc :

nnoremap *.php <F12> :Atoum<CR>

L’utilisation de la touche F12 de votre clavier en mode normal appellera alors la commande :Atoum.

16.2.3. Gestion des fichiers de configuration d’atoum

Vous pouvez indiquer un autre fichier de configuration pour atoum en ajoutant la ligne suivante à votre fichier .vimrc :

call atoum#defineConfiguration('/path/to/project/directory', '/path/to/atoum/configuration/file', '.php')

La fonction atoum#defineConfiguration permet en effet de définir le fichier de configuration à utiliser en fonction du répertoire où se trouve le fichier de tests unitaires. Elle accepte pour cela trois arguments :

  • un chemin d’accès vers le répertoire contenant les tests unitaires ;
  • un chemin d’accès vers le fichier de configuration d’atoum devant être utilisé ;
  • l’extension des fichiers de tests unitaires concernés.

Pour plus de détails sur l’utilisation du plug-in, une aide est disponible dans VIM à l’aide de la commande suivante :

:help atoum

16.2.4. Rapports de couverture pour vim

Vous pouvez configurer un rapport spécifique pour la couverture au sein de vim. Dans votre fichier de configuration atoum, définissez  :

… code-block:: php

<?php use mageekguyatoum; $vimReport = new atoumreportsasynchronousvim(); $vimReport->addWriter($stdOutWriter); $runner->addReport($vimReport);

16.3. PhpStorm

atoum possède avec un plug-in officiel pour PHPStorm. Il vous aide, au quotidien, dans votre développement. Les principales fonctionnalités sont :

  • Accès à la classe de test depuis la classe testée (raccourci : alt+shift+K)
  • Accès à la classe testée depuis la de test (raccourcis : alt+shift+K)
  • Execute tests inside PhpStorm (shortcut : alt+shift+M)
  • Identification facile des fichiers de test via une icône spécifique

16.3.1. Installation

C’est simple à installer, pour cela il suffit de suivre les étapes suivantes :

  • Ouvrir PHPStorm
  • Aller dans Fichier -> Paramètres, cliquer sur Plugins
  • Cliquer sur parcourir le répertoire
  • Chercher atoum dans la liste, cliquer sur le bouton installation
  • Redémarrer PHPStorm

Si vous avez besoin de plus d’information, il suffit de lire le repository du plugin.

16.4. Atom

atoum possède un plug-in officiel pour atom. Celui-ci vous aide dans plusieurs tâches :

  • Un panneau avec tous les tests
  • Exécuter tous les tests, dans un répertoire ou dans le répertoire courant

16.4.1. Installation

Il est simple d’installation, il suffit de suivre les étapes d’installation officiel ou les étapes suivantes :

  • Ouvrir atom
  • Aller dans Paramètres, cliquer sur Installation
  • Chercher atoum dans la liste, cliquer sur le bouton installation

Si vous avez besoin de plus d’information, il suffit de lire le repository du package.

16.5. Ouvrir automatiquement les tests en échec

atoum est capable d’ouvrir automatiquement les fichiers des tests en échec à la fin de l’exécution. Plusieurs éditeurs sont actuellement supportés :

Pour utiliser cette fonctionnalité, vous devrez modifier le fichier de configuration d’atoum :

16.5.1. macvim

<?php
use
    mageekguy\atoum,
    mageekguy\atoum\report\fields\runner\failures\execute\macos
;

$stdOutWriter = new atoum\writers\std\out();
$cliReport = new atoum\reports\realtime\cli();
$cliReport->addWriter($stdOutWriter);

$cliReport->addField(new macos\macvim());

$runner->addReport($cliReport);

16.5.2. gvim

<?php
use
    mageekguy\atoum,
    mageekguy\atoum\report\fields\runner\failures\execute\unix
;

$stdOutWriter = new atoum\writers\std\out();
$cliReport = new atoum\reports\realtime\cli();
$cliReport->addWriter($stdOutWriter);

$cliReport->addField(new unix\gvim());

$runner->addReport($cliReport);

16.5.3. PhpStorm

Si vous travaillez sous Mac OS X, utilisez la configuration suivante :

<?php
use
    mageekguy\atoum,
    mageekguy\atoum\report\fields\runner\failures\execute\macos
;

$stdOutWriter = new atoum\writers\std\out();
$cliReport = new atoum\reports\realtime\cli();
$cliReport->addWriter($stdOutWriter);

$cliReport
    // Si PhpStorm est installé dans /Applications
    ->addField(new macos\phpstorm())

    // Si vous avez installé PhpStorm
    // dans un dossier différent de /Applications
    // ->addField(
    //     new macos\phpstorm(
    //         '/path/to/PhpStorm.app/Contents/MacOS/webide'
    //     )
    // )
;

$runner->addReport($cliReport);

Dans un environnement Unix, utilisez la configuration suivante :

<?php
use
    mageekguy\atoum,
    mageekguy\atoum\report\fields\runner\failures\execute\unix
;

$stdOutWriter = new atoum\writers\std\out();
$cliReport = new atoum\reports\realtime\cli();
$cliReport->addWriter($stdOutWriter);

$cliReport
    ->addField(
        new unix\phpstorm('/chemin/vers/PhpStorm/bin/phpstorm.sh')
    )
;

$runner->addReport($cliReport);

16.5.4. gedit

<?php
use
    mageekguy\atoum,
    mageekguy\atoum\report\fields\runner\failures\execute\unix
;

$stdOutWriter = new atoum\writers\std\out();
$cliReport = new atoum\reports\realtime\cli();
$cliReport->addWriter($stdOutWriter);

$cliReport->addField(new unix\gedit());

$runner->addReport($cliReport);