有没有办法测试我的对象在 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/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |