Salut Toute le monde
je veut faire un test sur methode envoie mail
ceci la methode du click send,
et ceci la methode de 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
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; }
// Get the unique identifier for this asynchronous operation.
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
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;
il me donne test faild dans la ligne du assert ,
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é.");
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
Partager