【发布时间】:2016-05-16 06:42:45
【问题描述】:
我正在编写一个 XCTestCase 用于一些计时器验证。我的计时器每 30 秒运行一次,我在单例对象 MySessionObject 中跟踪运行计数,其中 MySessionObject 是指向 [MySession sharedSession] 的宏。
问题是,当我执行测试时,我总是在MySessionObject.timerCount 中得到0。但是,当我通过应用程序目标运行它时,它会正确设置。
我在这里缺少什么来加载单例的任何线索?我的假设是它应该在我的测试目标启动应用程序时设置。
NSInteger timerCountsToTest = 2;
// Adding a delay to counter network operation
[NSThread sleepForTimeInterval:(30 * timerCountsToTest) + 2];
XCTAssertEqual(timerCountsToTest, MySessionObject.timerCount, "Timer did not work properly.");
【问题讨论】:
-
我相信这与工作空间有关。测试工作区与应用程序工作区不同。
-
@JoshCaswell 请看看我的回答。我是这样解决的。如果您有更好的解决方案,请告知。
标签: ios objective-c unit-testing cocoa-touch xctestcase