OStack程序员社区-中国程序员成长平台

标题: ios - 如何测试一个对象将在拆卸后被释放 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 04:10
标题: ios - 如何测试一个对象将在拆卸后被释放

有没有办法测试我的对象在 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 ...];

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

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



Best Answer-推荐答案


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

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






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4