ブロック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 固有のものでしょうか?