【发布时间】:2020-01-13 04:11:52
【问题描述】:
我正在编写一个支持 Core Data 的 iOS 应用。我先编写 Core Data 代码,然后直接在 AppDelegate 的方法中测试它们。在获得初始工作代码后,我决定将 Core Data 测试代码移至 XCTest。这是我第一次使用 XCTest,我认为测试是在与 iOS 应用程序不同的进程中运行的,但显然并非如此。例如,测试可以访问 app 设置的托管对象上下文。
所以我的问题是 XCTest 在哪个线程中运行?是主线程吗?我的实验似乎表明了这一点。例如,在主线程中创建的测试访问对象(例如,AppDelegate 实例)和 Xcode 不会抱怨它。如果是这样,我想知道谁安排测试在主线程中运行以及如何安排?
我在控制台中看到类似以下的日志,但它们并未指明底层详细信息。
2020-01-13 11:34:38.212244+0800 ... Launching with XCTest injected. Preparing to run tests.
2020-01-13 11:34:38.559808+0800 ... Waiting to run tests until the app finishes launching.
感谢您的帮助。
【问题讨论】: