NUnit 是否会在清理时处理实现 IDisposable 的对象?我意识到有多种方法可以在方法中处理对象,但是,例如,如果方法在对象被处理之前失败 - NUnit 会处理它吗?(作为参考,我在 v2.6+ 上)
我要问的具体原因是针对创建实现 IDisposable 的对象的情况,但我断言创建时会引发异常。如果测试失败 - 并且创建了对象,我不想遇到内存泄漏问题。
例子:
//Will the StreamReader instance here be disposed
//Of if the assertion fails, and the instance is created?
Assert.Throws<Exception>(() => new StreamReader(filename));
我意识到这将起作用:
Assert.Throws<Exception>(() =>
{
using (StreamReader sr = new StreamReader(filename)) { }
}
但是,如果 NUnit 会在必要时进行处理,这似乎是不必要的代码。