【发布时间】:2015-11-24 15:06:23
【问题描述】:
为什么当我在 Xcode 中测试我的控制器时一切正常,但没有调用 deinit 方法。对吗?
虽然应用正常运行,但没问题,但不适用于UITest 目标。
对于复杂的结构,模拟器会一遍又一遍地分配更多对象,并且...根本不释放它。因此,通常在较慢的机器上,应用有时会无缘无故退出……并且无法完成测试。
使用 Xcode 8、iOS 10、macOS Sierra。
【问题讨论】:
-
实例是在测试代码中创建的还是在宿主应用代码中创建的?
-
我认为,在主机应用程序代码中。使用主机应用程序运行的 UITests(不确定)。
-
您是如何检测到
deinit方法未被调用的?另外,如果可能,请发布测试代码。这可能会有很大帮助。 -
因为我将断点放在
deinit中,而uitesting时应用程序没有停止。但是,在我手动编译和使用应用程序时会调用deinit。 -
对不起,我的错误......在另一个项目中确实调用了init。
标签: ios swift xcode xcode-ui-testing