NUnitでテストを書くと、動的オブジェクトにプロパティが存在するかどうかテストするのが難しいようです。NUnitで動的プロパティをテストする正しい方法
Assert.That(() => { var x = aDynamic.expectedProperty; }, Throws.Nothing);
しかし、逆のテストは私が歌った場所です。私はとRuntimeBinderException
を期待していながら
Assert.That(() => { var x = aDynamic.unexpectedProperty; }, Throws.TypeOf<RuntimeBinderException>());
これは、私はそれが決して特定の例外を除いて成功していないこれを緩和しようとする方法にもかかわらず、NUnit.Framework.AssertionException
をスローします。特に捕らえられたときでさえ。
Assert.That(
() =>
{
try
{
var x = aDynamic.unexpectedProperty;
}
catch (RuntimeBinderException ex)
{
throw ex;
}
catch (Exception ex)
{
//do nothing
}
},
Throws.TypeOf<RuntimeBinderException>());
私はすべてのサンプルを試してみました。それらはうまくいきました。両方のテストがNUnitランナーに渡されました。 – dasblinkenlight