我正在编写一些代码来删除一个对象,并希望进行单元测试以确保始终删除该对象。做这个的最好方式是什么?如果 GC 要工作,你不应该持有任何引用,那么你如何在没有引用的情况下进行测试?
最佳答案
在一般情况下无法测试对象是否被释放。
WeakReference可能是您正在寻找的东西。您可以创建一个 WeakReference 作为测试的一部分,并在您的代码运行后:
WeakReference wr = new WeakReference(obj);
GC.Collect();
Assert.IsTrue(!wr.IsAlive);
关于c# - 如何测试对象是否被处置和 GC'ed?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24096241/