7
新しいコードコントラクトContract.Assert
メソッドを使用している場合、ダイアログボックスを表示せずに例外をスローすることはできますか?ビルドマシンで単体テストを実行するときにこれを実行したいと思います。Contract.Assertがダイアログボックスを表示するのではなく例外をスローする
新しいコードコントラクトContract.Assert
メソッドを使用している場合、ダイアログボックスを表示せずに例外をスローすることはできますか?ビルドマシンで単体テストを実行するときにこれを実行したいと思います。Contract.Assertがダイアログボックスを表示するのではなく例外をスローする
ありがとうございましたpost on MSDN forums私は可能な解決策を見つけました。
namespace QuickGraph.Tests
{
[TestClass]
public class AssemblyContextTest
{
[AssemblyInitialize]
public static void Initialize(TestContext ctx)
{
// avoid contract violation kill the process
Contract.ContractFailed += new EventHandler<ContractFailedEventArgs>(Contract_ContractFailed);
}
static void Contract_ContractFailed(object sender, System.Diagnostics.Contracts.ContractFailedEventArgs e)
{
e.SetHandled();
Assert.Fail("{0}: {1} {2}", e.FailureKind, e.Message, e.Condition);
}
}
}
これは動作するようです。