Val*_*mas 2 c# nunit assert exception
Assert.Throws
我希望与属性 get 一起使用。
例如
object shouldFail = myobj[fakeField];
Run Code Online (Sandbox Code Playgroud)
我的尝试,虽然不好,但有助于证明我的需要。
Assert.Throws<MyException>(() => object shouldFail = myobj[fakeField]);
Assert.Throws<MyException>(() => myobj[fakeField]);
Run Code Online (Sandbox Code Playgroud)
我得到的语法错误是
Only assignment, call, decrement, and new object expressions can be used as a statement
. 我明白那个。所以我问,如果没有 try/catch,如何测试上面示例中该行代码的异常?
我知道[ExpectedException(typeof(MyException))]
你不能真正在 lambda with 表达式中做到这一点,因为你需要吃掉返回值。尝试使用语句块代替:
Assert.Throws<MyException>(() => { object shouldFail = myobj[fakeField];});
Run Code Online (Sandbox Code Playgroud)
注意:不建议get
从...抛出