在Cocoa和CocoaTouch中测试夏令时

时间:2015-05-26 11:49:16

标签: objective-c cocoa unit-testing nsdate

我正在开发一个需要绘制矩形的日历应用程序,其高度和垂直位置基于它们所代表的事件的开始日期。我正在尝试使用夏令时针对日期和时区测试布局系统。具体来说,我想说明在某些地区夏令时可以删除/添加一小时的事实。

目前我很难知道如何针对夏令时编写单元测试。

1 个答案:

答案 0 :(得分:1)

请参阅NSTimeZone课程参考。它有一个方便的BOOL属性,名为-daylightSavingTime and related friends,您可能会发现它很有用。您可以create a date with a specific time zone /日期组合来获取所需内容并提供相应内容,而不是系统提供的时间。

然而,我不确定是否有办法以编程方式更改系统时间(即使在模拟器中)。我没有尝试过这样的事情,但也许创造性地使用一些预处理器宏和/或环境变量可以让你在测试状态之间切换。

相关问题