我正在尝试实现 XCTest,因为我在 iOS 应用程序中有一个我似乎没有弄清楚的错误,所以想开始构建获取案例。
然而,该应用程序在加载后会自动连接到服务器以更新数据。但是对于测试,我不希望这种情况发生,因为我需要清除 CoreData 数据库并为每个测试填充数据。
有没有办法知道什么时候构建(在目标上)是否要运行测试?也就是说,我可以在测试时使用标志来省略某些操作吗?
或者我是否应该专门为测试复制我的正常目标,并以这种方式放入一个标志? (例如 #if TESTING 而不是 #if DEBUG)
最佳答案
不是您问题的直接答案,但它可能是您问题的解决方案。
您可以模拟执行服务器连接的类(即伪造服务器连接)。
您可以使用 OCMock 来完成此操作,您可以找到 here或者可以找到 OCMockito here .
目前,我发现使用 XCTest 比使用 OCMockito 更容易实现 OCMock。然而,OCMock 也可能存在一些问题,但这些问题可以通过查看 this site 来解决。 .
关于ios - XCTest 以及需要一个特殊目标来调整应用程序启动行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19895211/