Я только что внимательно следовал всем инструкциям MS по созданию леса интерфейса Identity в приложении ASP.NET Core 3.0 MVC.Если я запускаю проект, он прекрасно открывает домашнюю страницу по умолчанию, и ссылки на этой странице хорошо реагируют.Тем не менее, простой интеграционный тест не выполняется с исключением.
Единственный метод в EmailSender
выглядит следующим образом:
public Task SendEmailAsync(string email, string subject, string htmlMessage)
{
using (var client = new SmtpClient())
using (var msg = new MailMessage())
{
msg.From = new MailAddress("system@timekeeper.co.za");
msg.To.Add(new MailAddress(email));
msg.Subject = subject;
msg.IsBodyHtml = true;
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential("timekeeper@somewhere.com", "something");
client.Host = "mail.myhost.com";
client.Port = 25;
return client.SendMailAsync(msg);
}
}
, а мой тест выглядит так:
[TestMethod]
public async Task Send_Email()
{
var sender = new EmailSender();
await sender.SendEmailAsync("somebody@somewhere.net", "Test Mail", "This is a test");
Assert.IsTrue(true);
}
Когда я запускаю тест, он не проходит со следующим исключением:
Test method TimeKeeper.Tests.Integration.EmailSEnderTests.Send_Email threw exception:
System.Threading.Tasks.TaskCanceledException: A task was canceled.
at TimeKeeper.Tests.Integration.EmailSEnderTests.Send_Email() in D:\Dev\RestServices\TimeKeeper.Tests.Integration\EmailSEnderTests.cs:line 15
at Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.ThreadOperations.ExecuteWithAbortSafety(Action action)