Skip to content
Snippets Groups Projects
README.md 1.69 KiB
Newer Older
  • Learn to ignore specific revisions
  • Maxime Veber's avatar
    Maxime Veber committed
    Training PHPUnit
    ================
    
    
    Maxime Veber's avatar
    Maxime Veber committed
    Runing it inside  docker
    ------------------------
    
    Maxime Veber's avatar
    Maxime Veber committed
    
    ```bash
    docker build . -t phpunit:test
    # Lancer le docker
    
    Maxime Veber's avatar
    Maxime Veber committed
    docker run -it -v `pwd`:/project -d -p 8000:8000 phpunit:test
    
    Maxime Veber's avatar
    Maxime Veber committed
    # Pour lancer un terminal dans le docker
    docker ps
    
    Maxime Veber's avatar
    Maxime Veber committed
    docker exec -it {code} bash
    ```
    
    Dans le docker : 
    
    ```bash
    mv ../composer.phar .
    ./composer.phar install
    
    Maxime Veber's avatar
    Maxime Veber committed
    ```
    
    Maxime Veber's avatar
    Maxime Veber committed
    
    
    Maxime Veber's avatar
    Maxime Veber committed
    Running it with PHP directly
    ----------------------------
    
    ### Installation
    
    ```bash
    composer install
    ```
    
    ### Run
    
    ```
    bin/console server:run
    ```
    
    
    Maxime Veber's avatar
    Maxime Veber committed
    Faire un test PHPUnit simple
    ----------------------------
    
    1. Installer PHPUnit
    2. Tester la classe Video qui n'est pas testée pour le moment
    3. Essayez de faire un test complet
    4. Constatez les problèmes/Fixez la classe Video
    
    Maxime Veber's avatar
    Maxime Veber committed
    5. Essayez avec les cas suivants:
    ```
    https://www.youtube.com/watch?v=ubrLxJrtcX0
    https://www.youtube.com/watch?v=dpciZ0D-Hhc&index=3&list=RDGMEMYH9CUrFO7CfLJpaD7UR85wVMeY_B8jW2Sws
    ```
    
    Maxime Veber's avatar
    Maxime Veber committed
    
    
    Maxime Veber's avatar
    Maxime Veber committed
    Faire un test PHPUnit fonctionnel
    ---------------------------------
    
    1. Allez jeter un oeil à la doc de Symfony pour tester le DefaultController
    2. Soyez malins: installez les bonnes dépendances pour écrire votre test
    
    Un peu de TDD
    -------------
    
    On voudrait gérer des liens soundcloud et youtube pour les afficher de la même façon.
    
    1. Ecrire les tests des classes dont nous aurions éventuellement besoin (indice: il y a un design pattern dans l'histoire)
    2. Ecrire les classes responsable et modifier le contrôleur en conséquence (facultatif)
    
    
    
    Problèmes de limitation avec Github
    -----------------------------------
    
    1. Aller à https://github.com/settings/tokens
    2. Créer un token
    
    Maxime Veber's avatar
    Maxime Veber committed
    3. Copier le token pour lancer la commande `./composer.phar config -g github-oauth.github.com [token]`