Surikae 0.2.1

Surikae 0.2.1

测试已测试
语言语言 Obj-CObjective C
许可 BSD
发布最后发布2014年12月

未确认 维护。



Surikae 0.2.1

  • 作者:
  • Itotake Katsuyoshi

ITO SOFT DESIGN Inc. http://www.itosoft.com/
Itotake Katsuyoshi [email protected]
2012年2月10日

简介

Surikae 通过块替换方法。
它对 Objective-C 的单元测试很有帮助。

安装

将 Surikae 文件夹导入您的项目中。

如何使用

使用 NSObject 的 +surikaeWithSelector:surikae:context 来替换类的选择器。
这会用 surikae 块替换类的选择器。
如果您想替换实例方法,使用 -surikaeWithSelector:surikae:context of NSObject。这个效果只在上下文块中有效。

参阅 StopWatchTest.m

[NSDate surikaeWithSelector:@selector(date)
    surikae:^()
    {
        return [NSDate dateWithYear:2012 month:2 day:17 hour:0 minute:0 second:second];
    }
    context:^()
    {
        [self.stopWatch start];
        second = 1;
        [self.stopWatch stop];
        ASSERT_EQUAL_DOUBLE(1.0, self.stopWatch.time);
    }
];

如果您需要更长时间的效果,使用 +registedSurikaeWithSelector:surikae of NSObject。
在这种情况下,IUTSurikae 类保留了 UITSurikae 对象。
当您需要检索所有已替换的方法时,调用 +[NSObject removeAllSurikaes]。

参阅 StopWatchTest2.m

- (void)setUp
{
    [super setUp];
    second = 0;
    [NSDate registedSurikaeWithSelector:@selector(date)
        surikae:^()
        {
            return [NSDate dateWithYear:2012 month:2 day:17 hour:hour minute:minute second:second];
        }
    ];
    self.stopWatch = [StopWatch new];
}

- (void)tearDown
{
    self.stopWatch = nil;
    [NSDate removeAllSurikaes];
    [super tearDown];
}

请参阅示例项目

许可

BSD 许可协议

感谢

hayashi311: 实现块