是否存在关于在NUnit的单元测试中是否应该进行参考清理的指南?
[Test]
public void Test_AsyncAction_EventRaised()
{
var someClassToTest = new someClassToTest();
var mre = new ManualResetEvent(false);
someClassToTest.SomeEvent += () => {
mre.Set();
}
someClassToTest.SomeAsyncAction();
var eventFired = mre.WaitOne(TimeSpan.FromSeconds(1));
Assert.IsTrue(eventFired);
//unsub event?
//dispose MRE?
}
在正常的运行时情况下,只要SomeClassToTest仍在内存中,不取消订阅就意味着测试夹具将泄漏。如果SomeClassToTest发生内存泄漏,则意味着夹具也将泄漏。
实现IDisposable的类(例如ManualResetEvent)表示,如果我们不调用Dispose,则它们将泄漏资源。这也适用于单元测试方案吗?
答案 0 :(得分:0)
我总是希望测试代码进行适当的清理(除非在测试失败的情况下,除非这种情况下,我接受该测试的资源泄漏)。这是由于以下原因: