我真的很喜欢 NUnit 的新(呃)测试预期异常测试的能力,即:
var ex = Assert.Throws<SomeException>(()=>methodToThrowException("blah"));
我发现的一个小问题是,要测试某种运算符重载或其他赋值类型的功能,我知道如何做到这一点的唯一方法是为编译器提供一个要赋值的变量,如下所示:
// test division operator "/"
var ex = Assert.Throws<PreconditionException>(() => { var ignored = nbr / m; });
这很紧凑,效果很好,但令人烦恼的是,Resharper 会发出警告,指出从未使用过忽略的变量。如果你像我一样喜欢使用 Resharper 视觉效果来帮助你一眼判断代码的质量,这会适得其反。 Resharper 在技术上当然是正确的,但是有没有办法告诉 Resharper 这是我的意图?我有一个包含很多此类测试的测试,所以 pragma 看起来很讨厌。
有什么建议(除了“克服它,伙计”)?
干杯
最佳答案
你可以自己写Throws
采用 Func<object>
的方法相反,然后只写:
var ex = Assert.Throws<PreconditionException>(() => nbr / m);
然后将新方法提交给NUnit,等待下一次发布:)
关于c# - nunit resharper 预期异常测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1060571/