如果OCUnit测试包含名为“name”的方法,那么它总是通过

时间:2012-07-14 04:02:58

标签: objective-c unit-testing ocunit

尊敬的OCUnit测试员,

如果OCUnit测试包含名为“name”的方法,则总是传递,例如:

#import <SenTestingKit/SenTestingKit.h>

@interface Tests : SenTestCase

@end

@implementation Tests

- (NSString *)name
{
    return @"Howard";
}

- (void)testSomeTest
{
    STFail(@"Unit tests are not implemented yet in Tests");
}

@end

通行证!我在XCode 4下运行。

如果我将'name'更改为其他名称,那就没关系了,即它失败了。知道为什么'name'是OCUnit中的保留名称?无论如何要绕过这个?它是我试图测试的协议的一部分。

提前感谢任何建议, - 霍华德。

1 个答案:

答案 0 :(得分:1)

SenTestCase.m已经有一个名为-name的内部方法:

https://github.com/jy/SenTestingKit/blob/master/SenTestCase.m

我认为您正在尝试测试委托协议的结果。尝试将代理提供的测试代码拉到测试夹具外部的单独对象中。