Partage
  • Partager sur Facebook
  • Partager sur Twitter

Test Unitaire

Sujet résolu
    7 septembre 2020 à 21:10:06

    Bonjour,

    Je suis débutant en programmation Python. Je dois effectuer des tests unitaires avec mon programme. Je ne sais pas pour où commencer.

    Voici un de mes modules :

    from tkinter import *
    from tkinter import messagebox
    from tkinter import tix
    from PIL import ImageTk, Image # Module afficher des images
    import Principal
    from email_validator import validate_email, EmailNotValidError # Module qui valide les emails
    import SQL
    import base64 # Module d'encryption
    
    class Add:
    
    
        def close(self): # Fonction qui ferme la fenêtre pour retour a la fenêtre principale
    
            self.app.destroy()
            fen = tix.Tk()
            application = Principal.Fen(fen)
            fen.geometry("1500x850+190+100")
            fen.mainloop()
    
        def func(self): # Fonction qui valide les entrées utilisateurs
            email = self.courriel.get()
            password = base64.b64encode(self.password.get().encode("utf-8"))
            nom = self.nom.get()
            prenom = self.prenom.get()
            sexe = self.vari.get()
            var = True
    
            try:
                valid = validate_email(email)
                email = valid.email
    
            except EmailNotValidError as e:
                messagebox.showwarning("Erreur",str(e))
                var=False
    
            if len(password)<8:
                    messagebox.showwarning("Erreur", "Le mot de passe doit avoir plus de 8 caractère.")
                    var=False
            if True:
                if ((nom.isalpha() and prenom.isalpha())) is False:
                    messagebox.showwarning("Erreur", "Le nom et prenom doit être seulement des lettres.")
                    var=False
            if SQL.search_courriel(self.courriel.get()):
                messagebox.showwarning("Erreur", "Le courriel que vous avez rentré est déjà utilisé. Veuillez utiliser un autre adresse email !")
                var =False
            if sexe ==0:
                messagebox.showwarning("Erreur", "Vous devez choisir un sexe !")
                var = False
            if sexe ==1:
                self.sexee = "Homme"
            elif sexe ==2:
                self.sexee = "Femme"
            while var==True:
                SQL.insert_client(nom, prenom, email, password, self.sexee)
                self.close()
    
    
    
        def __init__(self, app):
    
            self.app = app
            self.app.title("Ajout de client")
    
            Label(text = "Nom",font="Times 15").grid(row=1,column=1,pady=20)
            self.nom = Entry()
            self.nom.grid(row=1,column=2,columnspan=10)
    
            Label(text = "Prenom",font="Times 15").grid(row=2,column=1,pady=20)
            self.prenom = Entry()
            self.prenom.grid(row=2,column=2,columnspan=10)
    
            Label(text = "Courriel",font="Times 15").grid(row=3,column=1,pady=20)
            self.courriel = Entry()
            self.courriel.grid(row=3,column=2,columnspan=10)
    
            Label(text = "Mot de Passe",font="Times 15").grid(row=4,column=1,pady=20)
            self.password = Entry(show="*")
            self.password.grid(row=4,column=2,columnspan=10)
    
            Label(text="Sexe", font="Times 15").grid(row=5, column=1, pady=20)
            self.vari = IntVar()
            Radiobutton(self.app, text="Homme", variable=self.vari, value=1).grid(row=5, column=2, pady=20)
            Radiobutton(self.app, text="Femme", variable=self.vari, value=2).grid(row=5, column=3, pady=20)
    
            Button(text="Ajouter", command=self.func).grid(row=7,column=1, pady=20)
            Button(text="Annuler", command=self.close).grid(row=7, column=2, pady=20)
    
    
            # Menu
            mainmenu = Menu(app)
            menu = Menu(mainmenu, tearoff=0)
            menu.add_command(label="Quitter", command=self.app.destroy)
            mainmenu.add_cascade(label="Fichier", menu=menu)
            self.app.config(menu=mainmenu)
    
            self.image = "cus.png"
            self.img = ImageTk.PhotoImage(Image.open(self.image))
            self.panel = Label(app, image = self.img)
            self.panel.grid(row=0, column=12, columnspan=8, rowspan=5, sticky=W+E+N+S, padx=20)
    
    
    def main(): # Fonction de paramètre de la fenêtre
        app = Tk()
        app.geometry("600x400+500+200")
        application = Add(app)
        app.mainloop()
    
    
    
    if __name__ == "__main__":
    
        main()

    Merci !

    • Partager sur Facebook
    • Partager sur Twitter
      8 septembre 2020 à 8:31:45

      Tu veux tester quoi ? Je ne vois rien à tester dans ton exemple.
      • Partager sur Facebook
      • Partager sur Twitter

      Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
      La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

        8 septembre 2020 à 11:03:38

        Bonjour


        S Vachon a écrit:

        Je suis débutant en programmation Python. Je dois effectuer des tests unitaires avec mon programme. Je ne sais pas pour où commencer.

        Le but de tests unitaires est d'assurer que le programme/module répond aux spécifications fonctionnelles (çà fait ce qu'on attend).

        Ça commence par l'écriture d'un plan de tests qui décrit comment on vérifie que les fonctionnalités attendues sont là. Et il n'est pas interdit d'écrire des fiches de tests où un utilisateur effectue des saisies et note le résultat. Si on veut "automatiser", il va falloir "coder" et (éventuellement) trouver des bibliothèques pour coder facilement ces tests, collecter les résultats,...

        • Partager sur Facebook
        • Partager sur Twitter
          16 septembre 2020 à 2:51:58

          J'aimerais faire des test unitaires avec ma fonction "func" pour vérifié qu'elle répond bien. Est-ce possible ? Si oui de quel façon je pourrais procéder. Merci !
          • Partager sur Facebook
          • Partager sur Twitter

          Test Unitaire

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown