Я думал, что эти два теста должны вести себя одинаково, на самом деле я написал тест в своем проекте с помощью MS Test только для того, чтобы теперь узнать, что он не учитывает ожидаемое сообщение так же, как NUnit.
NUnit ( терпит неудачу ):
[Test, ExpectedException(typeof(System.FormatException), ExpectedMessage = "blah")]
public void Validate()
{
int.Parse("dfd");
}
MS Test ( проходит ):
[TestMethod, ExpectedException(typeof(System.FormatException), "blah")]
public void Validate()
{
int.Parse("dfd");
}
Независимо от того, какое сообщение я передаю тесту ms, он пройдет.
Есть ли способ заставить тест ms не пройти, если сообщение неправильное ? Могу ли я даже создать свой собственный атрибут исключения? Я бы предпочел не писать блок try catch для каждого теста, где это происходит.