【发布时间】:2015-07-12 04:06:10
【问题描述】:
使用 COM,您可以使用 CoCreateInstance 创建对象。
有没有办法彻底销毁它,以便单元测试的下一部分可以重新开始?
【问题讨论】:
-
您在寻找IUnknown::Release()吗?
-
但是如何保证析构函数被调用呢?
-
在我看来,您无论如何都在尝试测试错误的东西。为什么接收一个新对象对测试很重要?如果它真的很重要,那么不要释放之前的对象。相反,请保留它,并在下一次测试中检查您分配的下一个对象是否确实与前一个不同。 (如果您还没有发布第一个,您只能检查。)
-
@RobKennedy - 每个测试都应该是独立的。从一个新的石板开始。所以我正在测试一个单例的 COM 对象。什么从头开始,但它没有调用析构函数。试图找出原因