public void SendMailTestFixture() { //Create a mock object of a MailClient class which implements IMailClient var mockMailClient = new Moq.Mock <IMailClient>(); //Mock the properties of MailClient mockMailClient.SetupProperty(client => client.Server, "chat.mail.com").SetupProperty(client => client.Port, "1212"); //Configure dummy method so that it return true when it gets any string as parameters to the method mockMailClient.Setup(client => client.SendMail(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())).Returns(true); IMailer mailer = new DefaultMailer() { From = "*****@*****.**", To = "*****@*****.**", Subject = "Using Moq", Body = "Moq is awesome" }; //Use the mock object of MailClient instead of actual object var result = mailer.SendMail(mockMailClient.Object); //Verify that it return true Assert.IsTrue(result); //Verify that the MailClient's SendMail methods gets called exactly once when string is passed as parameters mockMailClient.Verify(client => client.SendMail(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()), Times.Once); }
public void SendEmailTest() { //Create a mock object var mockClient = new Mock <IMailClient>(); //Mock the properties mockClient.SetupProperty(x => x.Server, "smtp.xyz.com") .SetupProperty(x => x.Port, "25"); //Configure dummy method so that it return true when it gets any string as parameters to the method mockClient.Setup(x => x.SendMail(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())) .Returns(true); var mailer = new DefaultMailer { From = "*****@*****.**", To = "*****@*****.**", Subject = "Test subject", Body = "Test moq framework" }; //Use the mock object instead of actual object var result = mailer.SendMail(mockClient.Object); //Verify that it return true Assert.IsTrue(result); //Verify that the SendMail method gets called exactly once when string is passed as parameters mockClient.Verify(x => x.SendMail(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()), Times.Once); }
public void SendMail() { //assign var mockMailClient = new Mock <IMailClient>(); mockMailClient.Setup(s => s.Server).Returns("chat.mail.com"); mockMailClient.Setup(s => s.Port).Returns("1234"); mockMailClient.Setup(s => s.SendMail(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())).Returns(true); //act IMailer mailer = new DefaultMailer { From = "*****@*****.**", To = "*****@*****.**", Subject = "Using Moq", Body = "Hello world!" }; var result = mailer.SendMail(mockMailClient.Object); //assert Assert.IsTrue(result); //verify that MailClient's SendMail is called only once mockMailClient.Verify(client => client.SendMail(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()), Times.Once); }
public void SendMailTestFixture() { //Arrage var mockMailClient = new Moq.Mock <IMailClient>(); mockMailClient.SetupProperty(client => client.Server, "chat.mail.com").SetupProperty(client => client.Port, "1212"); mockMailClient.Setup(client => client.SendMail(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())).Returns(true); IMailer mailer = new DefaultMailer() { From = "*****@*****.**", To = "*****@*****.**", Subject = "Using Moq", Body = "Moq is awesome" }; //Act var result = mailer.SendMail(mockMailClient.Object); //Assert Assert.IsTrue(result); mockMailClient.Verify(client => client.SendMail(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()), Times.Once); }
public void TestMethodMailToSend() { var moqMail = new Moq.Mock <IMailClient>(); moqMail.SetupProperty(client => client.Server, "chat.mail.com") .SetupProperty(client => client.Port, "80"); moqMail.Setup(client => client.SendMail(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())).Returns(true); IMailer mailer = new DefaultMailer() { From = "*****@*****.**", To = "*****@*****.**", Subject = "Using Moq", Body = "Moq is awesome" }; //Use the mock object of MailClient instead of actual object var result = mailer.SendMail(moqMail.Object); //Verify that it return true Assert.IsTrue(result); // Verify that the MailClient's SendMail methods gets called exactly once when string is passed as parameters moqMail.Verify(client => client.SendMail(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()), Times.Once); }