Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
P
PasteBin
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
PIERRON Laurent
PasteBin
Commits
2d8e69ef
Commit
2d8e69ef
authored
2 years ago
by
PIERRON Laurent
Browse files
Options
Downloads
Patches
Plain Diff
Ajout de la description du TP dans README.md
parent
c7718546
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
README.md
+76
-0
76 additions, 0 deletions
README.md
with
76 additions
and
0 deletions
README.md
0 → 100644
+
76
−
0
View file @
2d8e69ef
## 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.
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment