【发布时间】:2015-02-14 13:06:42
【问题描述】:
在 Xcode 6.1 中运行测试时,一件烦人的事情是整个应用程序必须运行并启动它的故事板和根视图控制器。在我的应用程序中,这会运行一些获取 API 数据的服务器调用。但是,我不希望应用在运行测试时这样做。
随着预处理器宏的消失,让我的项目知道它是在运行测试而不是普通启动时最好的方法是什么?我通常使用 command + U 并在机器人上运行它们。
伪代码:
// Appdelegate.swift
if runningTests() {
return
} else {
// do ordinary api calls
}
【问题讨论】:
-
“整个应用程序必须运行并启动它的故事板和根视图控制器”对吗?我没有测试过,但对我来说似乎不合适。嗯……
-
是的,应用程序确实完成启动运行以及根视图控制器的 viewdidload
-
啊,刚刚测试过。没想到是这样的哈哈。是什么导致您的测试出现问题?也许还有其他方法可以解决它?
-
我只需要让应用程序知道它在运行时会考虑到测试,所以像旧的预处理器宏这样的标志可以工作,但 swift 不支持它们。
-
是的,但是为什么你“需要”这样做?是什么让您认为您需要这样做?