DENEUVILLE Ludovic (sur la base des cours de Rémi Pépin)
ludovic.deneuville@ensai.fr
                        
                            
                                
Source : commitstrip Lien
                
Quand Jack et Charles travaillent en même temps
L'équipe décide de faire un planning pour savoir qui travaille et d'envoyer le code par mail
                Sauvegarde quotidienne du projet
Initialiser un dépôt
                        git init
                    
                    Cloner un dépôt
                        git clone https://github.com/ludo2ne/R-tuto.git
                        git clone git@github.com:ludo2ne/R-tuto.git
                    
                    
                    
                Mettre en transit un fichier
                            git add fileName
                        
                    Mettre en transit tout les fichiers
                            git add -A
                            git add .
                        
                    Mettre en transit tous les fichier depuis un dossier
                            git add folder/
                        
                    Faire un commit
                            git commit -m "message de commit"
                        
                Pousser mes modifications
                            git push
                        
                    Récupérer les modifications de la remote et les mettre dans mon dépôt local + workspace
                            git pull
                        
                    Récupérer les modifications de la remote et les mettre dans mon dépôt local
                            git fetch
                        
                    Fusionner les modifications du dépôt local avec la workspace
                            git fetch origin/master
                        
                Voir les fichiers nouveaux, staged etc ...
                                git status
                            
                    Voir les fichiers nouveaux, staged etc ... avec un meilleur niveau de détail
                        git status -u
                    
                    Voir l'historique "joliment"
                                git log --all --decorate --oneline --graph
                                git log --pretty=format:'%C(yellow)%h %Cred%ad %Cblue%an%Cgreen%d %Creset%s' --date=relative
                            
                            
                    
                            
                            
                
Source : lien
                    
                

Source : commitstrip Lien
                

Source : commitstrip Lien
                
“En informatique, un test désigne une procédure de vérification partielle d'un système. Son objectif principal est d'identifier un nombre maximum de comportements problématiques du logiciel. Il permet ainsi, dès lors que les problèmes identifiés seront corrigés, d'en augmenter la qualité.
D'une manière plus générale, le test désigne toutes les activités qui consistent à rechercher des informations quant à la qualité du système afin de permettre la prise de décisions.
Un test ressemble à une expérience scientifique. Il examine une hypothèse exprimée en fonction de trois éléments : les données en entrée, l'objet à tester et les observations attendues. Cet examen est effectué sous conditions contrôlées pour pouvoir tirer des conclusions et, dans l'idéal, être reproduit ”
Plus on teste tôt et plus les tests sont efficaces et peu coûteux !
Pratique qui consiste à écrire les tests AVANT de coder
![]()
Par Xarawn — Travail
                            personnel
                        ,
                        CC
                            BY-SA 4.0, Lien
                            def test_ma_fonction():
                                # GIVEN -> Inputs
                                expected_result = 
                                mes_parametres = 
                                # WHEN -> Le traitement à tester
                                actual_result = ma_fonction(mes_parametres)
                                # THEN
                                #Des petits traitements supplémentaires comme nettoyer la base
                                self.assertEqual(actual_result, expected_result)
                            
                
                    def test_compute_damage(self):
                        # GIVEN
                        power = 100
                        basic_hit = FixedDamageAttack(power=power)
                        pikachu = AttackerPokemon()
                        venusaur = AttackerPokemon()
                        # WHEN
                        damage = basic_hit.compute_damage(pikachu, venusaur)
                        # THEN
                        self.assertEqual(power, damage)
                        
                
                    def test_choose_attack_1(self):
                        # GIVEN
                        tonnerre = SpecialFormulaAttack(power=30, description="{pokemon} fait tomber la foudre sur son adversaire", name="Tonnerre")
                        vive_attaque = PhysicalFormulaAttack(power=35, description="{pokemon} fonce sur l'ennemi si rapidement qu'on parvient à peine à le discerner.", name="Vive attaque")
                        pikachu = AttackerPokemon(name="pikachu", common_attacks=[tonnerre,vive_attaque])
                        battle_service = BattleService()
                        random.seed(1) # no crit, choose tonnerre
                        # WHEN
                        choosen_attack = battle_service.choose_attack(pikachu)
                
                        # THEN
                        self.assertEqual(tonnerre, choosen_attack)
                
                        
                
                        @patch.multiple(AbstractPokemon, __abstractmethods__=set())
                        def test_get_order_draw(self):
                            # GIVEN
                            speed_pikachu = 50
                            speed_charizard = 22
                            pikachu = AbstractPokemon(stat_current=Statistic(speed=speed_pikachu))
                            charizard = AbstractPokemon(stat_current=Statistic(speed=speed_charizard))
                            battle_service = BattleService()
                            random.seed(1) # les deux nombres générés seront 8 et 36 (draw), 48 and 4
                            
                            # WHEN
                            first, second = battle_service.get_order(pikachu, charizard)
                    
                            # THEN
                            self.assertEqual(pikachu, first)
                            self.assertEqual(charizard, second)                
                        
                        
                    
                
                        
Source : commitstrip Lien