对于我们是否应该使用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,那么它们就会泄漏资源。这也适用于单元测试场景吗?
发布于 2019-05-20 20:34:28
我倾向于让测试代码进行适当的清理(除非可能在测试失败的情况下--在这种情况下,我接受来自该测试的资源泄漏)。这是由于以下原因:
https://stackoverflow.com/questions/56226281
复制相似问题