Я думал, что эти два теста должны вести себя одинаково, на самом деле я написал тест в своем проекте, используя 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 был неудачным, если сообщение неверно? Могу ли я создать свой собственный атрибут исключения? Я бы предпочел не писать блок catch try для каждого теста, где это происходит.