gpt4 book ai didi

ios - 如何测试一个对象在拆卸后是否会被释放

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:18:49 26 4
gpt4 key购买 nike

有没有一种方法可以测试在 XCTest 中对对象调用拆卸后我的对象将被释放。我正在考虑做这样的事情:

[self.client teardown];
__weak typeof(self.client) weakClient = self.client;
XCTestExpectation *teardownExpectation = ...;
dipatch_time_t delay = ...
dispatch_after(delay, dispatch_get_main_queue(), ^{
XCTAssertNil(weakClient);
[teardownExpectation fulfill];
}
self.client = nil;
[self waitForExpectationsWithTimeout:5.0 ...];

但这样做的问题是自动释放池不会耗尽,所以我的对象实际上永远不会被释放。

还有其他方法可以测试吗?

最佳答案

您可以将其放入您自己的自动释放池中,然后将其排出,以模拟运行循环结束时发生的情况。显然,在这里您通过等待测试的期望来保持运行循环的进行。但测试分配的更好方法是使用 Instruments 和泄漏/分配工具。

关于ios - 如何测试一个对象在拆卸后是否会被释放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27613515/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com