Skip to content
Aurélien Bénel edited this page Apr 7, 2020 · 40 revisions

Préparer votre poste de travail

Normalement, à la suite des séances précédentes, vous avez une – et une seule – contribution (commit) dans une nouvelle branche. Vérifiez le avec git log.

git log

Remarquez la contribution d'écart entre la branche marquée HEAD (en bleu) et celle marquée origin/v7 (en rouge). Notez bien le nom de votre branche (après le HEAD, dans mon cas par exemple c'est dev), vous en aurez besoin plus tard.

Si vous êtes dans la situation décrite, c'est que tout va bien. Passez à la section suivante.

Sinon :

  • Vous avez fait plusieurs contributions au lieu d'une ? Lancez les commandes suivantes (le nombre de commits en trop doit être indiqué après le tilde) :

    git reset --soft HEAD~1
    git add features/attribute_set.feature 
    git commit --amend --no-edit
    git push --force 
    
  • Vous avez fait votre contribution directement dans la branche v7 ? Identifiez dans l'historique l'identifiant de ma contribution la plus récente (ex : d5599c55). Notez que le début de l'identifiant suffit. Sur GitHub, supprimez votre entrepôt sur GitHub puis refaites un fork. Effectuez ensuite les commandes ci-dessous dans votre dossier local de Porphyry (en remplaçant l'identifiant si nécessaire) :

    git branch fix-143
    git checkout v7
    git reset --hard d5599c55
    git push --force
    
  • Vous avez modifié le fichier features/attribute_set.feature mais vous n'avez pas fait de contribution du tout ?

    git checkout -b fix-143
    git add features/attribute_set.feature 
    git commit -m "FIX: Add a resource to an item as a link (fixes #143)"
    git push origin fix-143
    
  • Vous n'avez rien fait ou vous êtes complètement perdu.

1. Sauvegarder vos modifications et revenir à la dernière révision officielle

Au cas où vous auriez fait des modifications hors-commits et/ou de nouveaux commits (dans une branche) ou encore que vous auriez fait un clone il y a longtemps :

git stash
git checkout v7
git pull

Normalement git status doit vous dire :

On branch v7
Your branch is up to date with 'origin/v7'.

2. Lancer une version modifiable de Porphyry

npm start

3. Mettre en place son environnement de test

Vous utilisez "Docker Toolbox" (sous Windows Home) ?

Affichez l'adresse IP de votre machine du point de vue de votre machine virtuelle :

ipconfig

L'adresse se trouve dans la section Carte Ethernet VirtualBox à la ligne Adresse IPv4. Si elle est différente de 192.168.99.1, il faudra par la suite remplacer cette dernière par la véritable adresse.

Lancez le résultat de la commande suivante :

docker run --rm --volume "$(pwd)":/app --tty --env APP_HOST="http://192.168.99.1:3000" benel/cucumber-capybara --retry 2

Normalement certaines étapes doivent prendre quelques secondes et passer au "vert". Vous devez avoir 8 scénarios qui réussissent ou sont instables (passed ou flaky), 1 en attente d'implémentation (pending), mais aucun qui échoue (failed).

Une fois que cela fonctionne, créez un alias (sans l'option retry) :

alias cucumber='run --rm --volume "$(pwd)":/app --tty --env APP_HOST="http://192.168.99.1:3000" benel/cucumber-capybara'

Vous utilisez un docker plus "standard" ?

Lancez le résultat de la commande suivante :

docker run --rm --volume "$(pwd)":/app --tty --env APP_HOST="http://$(hostname):3000" benel/cucumber-capybara --retry 2

Normalement certaines étapes doivent prendre quelques secondes et passer au "vert". Vous devez avoir 8 scénarios qui réussissent ou sont instables (passed ou flaky), 1 en attente d'implémentation (pending), mais aucun qui échoue (failed).

Une fois que cela fonctionne, créez un alias (sans l'option retry) :

alias cucumber='docker run --rm --volume "$(pwd)":/app --tty --env APP_HOST="http://$(hostname):3000" benel/cucumber-capybara'

Expérimenter le cycle de développement guidé par les tests

cucumber --retry 1

Failing Scenarios:
cucumber features/attribute_set.feature:12 # Scénario: ayant pour valeur des URI

10 scenarios (1 failed, 1 pending, 8 passed)
100 steps (2 failed, 6 skipped, 1 pending, 91 passed)
0m56.242s

expected to find text "https://www.aube-champagne.com/fr/poi/hotel-de-vauluisant-musee-de-vauluisant/#cdt-information" in "VITRAUX\naliceSe déconnecter\n Retour à l'accueil\nDescription\nAttributs du document\nvisite\thttps\t\nHistoire des religions\nHistoire de l'art\nundefined"

Expérimenter les tests automatisés d'interfaces utilisateurs

Clone this wiki locally