Skip to content
Snippets Groups Projects
Commit 2d8e69ef authored by PIERRON Laurent's avatar PIERRON Laurent :man_in_tuxedo_tone1:
Browse files

Ajout de la description du TP dans README.md

parent c7718546
No related branches found
No related tags found
No related merge requests found
## Objectif
Ce TP est destiné à comprendre ce qu'est le "behavior-driven development" (BDD)
ou développement guidé par le comportement.
Nous réaliserons donc un ensemble de tests *comportementaux* pour valider le projet *PrivateBin* en utilisant
l'outil [Codeception](https://codeception.com). Nous mettrons en place plusieurs types de test :
- tests d'acceptation, qui testeront le comportement de l'interface du logiciel
- tests fonctionnels et unitaires utilisant des simulateurs d'objets : *stub*, *fake* ou *mock*
## Préambule
Vérifier que les programmes PHP et composer sont installés :
```
$ php --version
PHP 8.2.2 (cli) (built: Feb 5 2023 12:51:27) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.2, Copyright (c) Zend Technologies
with Zend OPcache v8.2.2, Copyright (c), by Zend Technologies
$ composer --version
Composer version 2.5.2 2023-02-04 14:33:22
```
## Création de votre branche de travail
Clonez le projet sur votre ordinateur : `git clone https://gitlab.univ-lorraine.fr/pierron9/pastebin`
Créez une branche pour travailler.
Choisissez comme nom de branche votre nom de login sur `https://gitlab.univ-lorraine.fr/`
```
cd pastebin
git branch <your branch name>
git switch <your branch name>
```
Testez que vous êtes au bon endroit : `git status`
Créez la branche sur le dépôt distant : `git push --set-upstream origin <your branch name>
## Vérification du fonctionnement de *PrivateBin*
Démarrez l'application en lançant le serveur de test intégré à PHP : `php -S localhost:8000`
Vérifiez dans un navigateur Web que la page `localhost:8000` montre bien l'application.
Vous pouvez jouer un peu avec l'application, ce qui vous permettra de définir les tests.
## Ajout de ***codeception**
Ajout de *Codeception* à votre environnement de travail en se basant
sur le document d'installation rapide : https://codeception.com/quickstart
```
composer require "codeception/codeception" --dev
php vendor/bin/codecept bootstrap
```
Créez un premier test d'acceptation : `php vendor/bin/codecept generate:cest Acceptance Premier`
Configurez le test et passez le test, comme indiqué dans la documentation avec la commande :
`php vendor/bin/codecept run --steps`
## TODO
1. Créer au moins 5 tests d'acceptation (**`Acceptance`**), pour tester les différentes parties de l'interface du logiciel.
Mettez un `tag` pour identifier votre travail et *poussez* sur le serveur.
2. Réécrire les 5 tests, en utilisant des scenarios comportementaux (**`feature`**) comme décrits dans https://codeception.com/docs/BDD
Mettez un `tag` pour identifier votre travail et *poussez* sur le serveur.
3. Réécrire les 5 tests sous forme de tests unitaires (https://codeception.com/docs/UnitTests#Creating-a-Test) en utilisant des simulateurs,
il n'est plus nécessaire de lancer le serveur.
L'utilisation des simulateurs est expliquée ici : https://codeception.com/docs/UnitTests#Test-Doubles
Mettez un `tag` pour identifier votre travail et *poussez* sur le serveur.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment