Я добавил MSTests в мой C# проект WinForms. Чтобы проверить, работают ли они правильно, я хотел проверить следующую функцию:
public static bool IsValidEmail(string email)
{
return new EmailAddressAttribute().IsValid(email);
}
. Для этого я написал следующие два теста:
[TestMethod]
public void Test_IsValidEmail_True()
{
Assert.IsTrue(IsValidEmail("test@test.pl"),"Good mail test");
}
[TestMethod]
public void Test_IsValidEmail_False()
{
Assert.IsFalse(IsValidEmail("test@test"), "Bad mail test");
}
Функция работает правильно и проверяет если адрес электронной почты правильный.
Это означает, что функция IsValidEmail("test@test")
возвращает false
. Однако второй тест проходит, только если я ввожу его, например, с «test», но если я введу test@test
, он не пройдет и выдаст:
Сообщение: сбой Assert.IsFalse. Тест плохой почты
Почему этот тест не пройден?
Вот как я тестировал функцию, если она работает вручную:
MessageBox.Show("test@test.pl - " + IsValidEmail("test@test.pl"));
MessageBox.Show("test@test - " + IsValidEmail("test@test"));