IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Unit Test dans VS 2008


Sujet :

C#

  1. #21
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2011
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2011
    Messages : 456
    Points : 384
    Points
    384
    Par défaut Test Du Envoie Mail
    Salut Toute le monde
    je veut faire un test sur methode envoie mail
    ceci la methode du click send,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
      try
                {
     
                    lblErreur.Text = "";
                    button1.Visible = false;
     
                    smtp = new SmtpClient("smtp.gmail.com");
                    smtp.UseDefaultCredentials = false;
                    smtp.EnableSsl = true;
                    smtp.Port = 587;
     
                    button1.Visible = true;
                    lblErreur.Text = "";
                    string strExpediteur = tbExpediteur.Text + "@gmail.com";
                    //MailAddress add = new MailAddress(strExpediteur, name);
                    MailMessage email = new MailMessage(strExpediteur, tbDestinataire.Text, tbObjet.Text, tbMessage.Text);
                    NetworkCredential cred = new NetworkCredential(strExpediteur, tbmPassword.Text);//
                    email.IsBodyHtml = true;
                    email.Priority = MailPriority.High;
     
     
                    smtp.Credentials = cred;
     
                    string userState = "Message";
                    try
                    {
                        smtp.SendAsync(email, userState);
                        lblErreur.Text = "Envoie du message... ";
                    }
                    catch (Exception ex)
                    {
                        lblErreur.Text = ex.Message;
                    }
                    smtp.SendCompleted += new SendCompletedEventHandler(SendCompletedCallback);
                }
                catch (Exception expt)
                {
                    lblErreur.Text = expt.Message;
                }
    et ceci la methode de SendCompletedCallback:
    // Get the unique identifier for this asynchronous operation.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
          String token = (string)e.UserState;
     
                if (e.Cancelled)
                {
                    lblErreur.Text = String.Format("[{0}] Envoie annuler.", token);
                }
                else if (e.Error != null)
                {
                    lblErreur.Text = String.Format("[{0}] {1}", token, e.Error.ToString());
                }
                else
                {
                    lblErreur.Text = String.Format("Message envoyé.");
                }
                button1.Visible = false;
    ceci le code du test:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    EnvoiMail_Accessor target = new EnvoiMail_Accessor(); // TODO: Initialize to an appropriate value
                object sender = null; // TODO: Initialize to an appropriate value
                EventArgs e = null; // TODO: Initialize to an appropriate value
                target.smtp = new SmtpClient("smtp.gmail.net.lb");
                target.tbDestinataire.Text = "xyz@hotmail.com";
                target.tbMessage.Text = "Hello";
                target.tbExpediteur.Text = "blabla";
                target.tbmPassword.Text = "mlamlamla";
                target.tbObjet.Text = "Hi";
                target.btEnvoyer_Click(sender, e);
           //    System.Threading.Thread.Sleep(3000);
     
     
               Assert.AreEqual(target.lblErreur.Text,"Message envoyé.");
    il me donne test faild dans la ligne du assert ,
    mais ce quoi l'erreur, j'ai pense qu'il ya des qlq ms pour envoyer le mail, alors je fait activation du Thread avec 3 sec , mais ca marche pas, quelle est l'erruer,???
    merci d'avance

  2. #22
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 724
    Points
    5 724
    Par défaut
    Fais du pas à pas avec le debugger en rentrant dans la fonction d'envoi de mail et tu verras bien en ressortant si le AreEqual fonctionne. J'ai un doute que AreEqual compare des références plutôt que le contenu des strings..
    " Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
    Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]

  3. #23
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2011
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2011
    Messages : 456
    Points : 384
    Points
    384
    Par défaut
    c'est vrai , elle ne sont pas eguale , mais le mail est recu sur mon hotmail en utilisant le gmail , et je fais encore marche pas a pas dans le test, j'ai target.lberreur="envoie du message...." et n'est pas "message envoye" , mais j'ai la recu dans mon mail .....

  4. #24
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 724
    Points
    5 724
    Par défaut
    est-ce que tu passes bien par SendCompleted ?

    en fait tu testes l'envoi d'un mail à travers la mise à jour d'un libellé ce n'est pas suffisant il faudrait à mon avis au minimum vérifier en allant lire dans la boîte de messagerie et le status..
    " Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
    Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]

  5. #25
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2011
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2011
    Messages : 456
    Points : 384
    Points
    384
    Par défaut
    Le test par check mail : voir inbox ou boite de reception ca passe bienne
    mais pourquoi la mise a jour du label ne se marche pas a votre avis ?

    j'ai un autre probleme pour le test de methode add sur database , il faut que le path du databse est fixe ? car moi dans la connexion du dabase j'ai pris la path du currentdirectory methode , pour que l'utilisateur soit libre de mettre exe-file avec la DB n'importe ou dans un meme folder ,

  6. #26
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 724
    Points
    5 724
    Par défaut
    Non tu peux utiliser un fichier de configuration pour stocker des informations sur la database, c'est quoi comme database ?

    Il faut que tu testes => smtp.SendCompleted += new SendCompletedEventHandler(SendCompletedCallback); car c'est ce qui déclenche la mise à jour du libellé.
    " Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
    Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]

  7. #27
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2011
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2011
    Messages : 456
    Points : 384
    Points
    384
    Par défaut
    Pour le test du event send complete je veux le faire demain,
    a propos mon DB , c'est un projet d'annauire telephonique dans le quelle il ya personne,et heritage personne morale ,physique et tableau d'adress,

  8. #28
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2011
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2011
    Messages : 456
    Points : 384
    Points
    384
    Par défaut
    ceci ma methode du l'event de smtp.SendCompleted += new SendCompletedEventHandler(SendCompletedCallback);

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    public void SendCompletedCallback(object sender, AsyncCompletedEventArgs e)
            {
                // Get the unique identifier for this asynchronous operation.
                String token = (string)e.UserState;
     
                if (e.Cancelled)
                {
                    lblErreur.Text = String.Format("[{0}] Envoie annuler.", token);
                }
                else if (e.Error != null)
                {
                    lblErreur.Text = String.Format("[{0}] {1}", token, e.Error.ToString());
                }
                else
                {
                    lblErreur.Text = String.Format("Message envoyé.");
                }
                button1.Visible = false;
            }
    si je veux le faire le test sur cette methode comment je faire intialiser "AsyncCompletedEventArgs e"?

    Moi j'ai un projet a presenter avec toute ses tests par code , mais si le test du methode Send Mail sera tres difficile a faire , je veux dire a mon Professeur que je veux le faire par check mail (voir inbox).

  9. #29
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2011
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2011
    Messages : 456
    Points : 384
    Points
    384
    Par défaut
    Salut toute le monde ,
    comment peut on faire un test d'une methode qui depend d'une autre methode?
    merci

  10. #30
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 62
    Points : 96
    Points
    96
    Par défaut
    Bonjour tout le monde,

    Comment peut faire test d'une instance cree a partir d'un nouveau form,
    donc je designe le unit testing et non pas global testing.

    Merci bien

  11. #31
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 62
    Points : 96
    Points
    96
    Par défaut
    comment peut on faire unit test pour des formes graphique?

  12. #32
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2011
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2011
    Messages : 456
    Points : 384
    Points
    384
    Par défaut
    Salut,
    je veux faire un test sur mouse right click dans datagridview, comment peut-on le faire ?
    Merci

  13. #33
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 724
    Points
    5 724
    Par défaut
    Citation Envoyé par genius4evers Voir le message
    Salut,
    je veux faire un test sur mouse right click dans datagridview, comment peut-on le faire ?
    Merci
    Avec visual studio clic droit sur la méthode click du datagridview et create unit test

    pour les formes graphiques c'est pareil clic droit sur la méthode de la form et create unit test dans le menu contextuel
    " Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
    Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]

  14. #34
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2011
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2011
    Messages : 456
    Points : 384
    Points
    384
    Par défaut
    Salut Hegros
    Merci, j'ai fais cette conception mais mon probleme est j'ai plusieurs ligne dans la datagridview el il ya selectionne du ligne par mouse event right click ,
    d'ou il ya du mouse position , et dans le test je ne peut pas mettre la location.X el location.Y du mouse car elle seulemen proprietes en lecture (Get) sans (Set)
    Merci.

  15. #35
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 62
    Points : 96
    Points
    96
    Par défaut
    merci
    mais pouvez vous me donner un exemple sur le test graphique?
    par exemple le changement de la position de la mouse en utilisant target.....
    ou un test sur le close d'un form?
    ou bien le test sur l'ouverture d'un form?

  16. #36
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2011
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2011
    Messages : 456
    Points : 384
    Points
    384
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     public void dataGridView1_CellMouseClickTest()
               {
                ConsulterSupp_Accessor target = new ConsulterSupp_Accessor(); // TODO: Initialize to an appropriate value
                object sender = null; // TODO: Initialize to an appropriate value
                DataGridViewCellMouseEventArgs e = null; // TODO: Initialize to an appropriate value
     
                ConsulterSupp.MousePosition = new System.Drawing.Point(500, 500);//instruction ajoute par moi ////
                target.dataGridView1_CellMouseClick(sender, e);
     
     
     
     
            }
    ceci le code genere par la methode unittest pour mouse event, il ya un erreur pour mouseposition=new...., il m'affiche it's read only,
    apres la mouse click j'ai 3 methodes dont la 1er est remove , comment je peux faire test pour cette methode ???? et les 2 autres sont de meme scenario...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
            public void removeToolStripMenuItem_ClickTest()
            {
                ConsulterSupp_Accessor target = new ConsulterSupp_Accessor();   // TODO: Initialize to an appropriate value
                object sender = null; // TODO: Initialize to an appropriate value
                EventArgs e = null; // TODO: Initialize to an appropriate value
                target.button2_Click(sender, e);
    }
    moi j'utilise le numero du ligne selectionner par moise pour le remove pour connaitre le demarche du code pour SQL-Requete

  17. #37
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 62
    Points : 96
    Points
    96
    Par défaut
    je suis en accord avec mr.genius

  18. #38
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 724
    Points
    5 724
    Par défaut
    genius il y a un problème de conception dans tes codes tu ne sais pas trop quoi tester en fait dans le click (graphique ? sql ?) ni pourquoi tu veux tester l'ouverture ou la fermeture d'une fenêtre ou alors le déplacement de la souris au dessus, c'est pas clair

    sinon pour faire des tests graphiques avec la couche sql derrière utilisé, si vous pouvez, ms test qui intègre bien l’enregistrement de ce genre de scénario et génère le code de test correspondant
    " Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
    Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]

  19. #39
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2011
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2011
    Messages : 456
    Points : 384
    Points
    384
    Par défaut
    Salut moi je suis un Debutant dans le test , toute le test du windows graphique comme la remplir du textbox et comptage du lignes datagridview ca marche bienne, (tu as donne a moi un petit example depuis de plus d'un moi) ca marche tres bienne,
    mais moi je ne sais pas comment faire le test de type mouse click ,
    voici un example par foto attach.

    Mr Boss89,Pourquoi tu veux faire test ouverture et fermeture du windows form.???
    Images attachées Images attachées  

Discussions similaires

  1. Meilleure solution pour des unit tests? (dans mon cas)
    Par nicdo77 dans le forum Tests et Performance
    Réponses: 2
    Dernier message: 19/08/2007, 19h32
  2. Ordre des tests dans la clause WHERE
    Par Tans98 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 22/09/2004, 10h52
  3. Probleme de test dans un boucle
    Par PrinceMaster77 dans le forum ASP
    Réponses: 14
    Dernier message: 15/06/2004, 12h32
  4. Réponses: 3
    Dernier message: 09/04/2004, 23h35
  5. Connaitre l'unitée à ajouter dans USES
    Par DelphiCool dans le forum Langage
    Réponses: 7
    Dernier message: 01/08/2002, 13h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo