【发布时间】:2017-08-31 03:58:44
【问题描述】:
我有一个 Swift 项目,我向它添加了一个单元测试目标。 我的配置文件 Constants.swift 包含一个结构:
struct Constants {
struct Network {
#if APITESTS
static let serverURL = "https://www.servertest.com"
#else
static let serverURL = "https://www.server.com"
#endif
}
}
在我的测试目标Other Swift Flags 我添加了-DAITESTS
然后用 CMD+U 运行单元测试
在我的测试中出现的日志中,我可以看到它是“https://www.server.com”,而它应该是 servertest。
如果我使用#if DEBUG 而不是 APITESTS,它可以工作。 如果我尝试在 Active Compilation Conditions 中添加 APITESTS(就像 DEBUG 一样),它仍然无法识别。
有什么明确的解释吗?
【问题讨论】:
-
我已经尝试过了,正如您在帖子中看到的那样
-
我刚才做了一个测试:我把APITESTS标志放在PROJECT config > Active Compilation Conditions中。它有效。如果我将标志放在单元测试目标中,它就不起作用