У меня есть метод test, у которого нет четкого выражения assert.Возвращаемое проверенное значение представляет собой очень длинную строку, которая должна быть проверена программистом, чтобы проверить, правильно это или нет.По этой причине, если код выполняется без исключений, я вызываю «Assert.Inconclusive».
Однако, если выдается какое-то исключение, я хочу вызвать «Assert.Fail» с сообщением об исключении,Примерно так:
[TestMethod()]
public void Test()
{
try {
string toBeChecked = MethodToBeTested();
//the string is so particular that no clear
//assertion can be made about it.
Console.WriteLine(toBeChecked);
Assert.Inconclusive("Check the console output.");
} catch(Exception e) {
Assert.Fail(e.Message);
}
}
Проблема с этим кодом состоит в том, что если не генерируется регулярное исключение, метод Assert.Inconclusive
также генерирует исключение, которое перехватывается, поэтому вызывается Assert.Fail
и изВ панели результатов теста IDE кажется, что тест не пройден.Это не то, что я хочу.
Есть ли способ отфильтровать исключения, например перехватывать все исключения, кроме Assert-подобных?
(я использую .NET Framework 3.5SP1)