刚刚遇到了一些有趣的行为 -Assert
被Catch
阻止。
List<Decimal> consArray = new List<decimal>();
try
{
Decimal d;
Assert.IsTrue(Decimal.TryParse(item.Value, out d));
consArray.Add(d);
}
catch (Exception e)
{
Console.WriteLine(item.Value);
Console.WriteLine(e);
}
断言抛出AssertFailedException
并被catch
. 一直认为如果Assert
失败则测试失败并中止连续执行。但在那种情况下 - 测试继续进行。如果以后没有任何问题发生 - 我得到绿色测试!理论上 - 这是正确的行为吗?
编辑:我知道这可能是 .NET 限制以及如何在 MsTest 中进行断言。断言抛出异常。因为catch
- 捕获它捕获断言异常的所有内容。但它在理论上是正确的还是特定于 MsTest 的?