我试图涵盖测试用例
返回类对象的方法。
-(ClassName *)returnClass{
return _class;
}
-(void)test_ReturnClass{
id returnObj;
returnObj = [aClassNameObj returnClass];
STAssertNotNil(returnObj, @"return Not NULL Value");
STAssertEqualObjects(returnObj, [isKindOfClass: ClassName],@"");
}
我想比较一个节目STAssertEqualObjects
isKindOfClass:ClassName
是否有可能,如果是,请告诉我。
@All 在此先感谢
答案 0 :(得分:2)
目前还不清楚你在问什么。
如果要检查返回的对象的类是ClassName
还是子类,可以使用以下内容:
STAssertTrue([returnObj isKindOfClass:[ClassName class]], nil);
如果你想检查它是ClassName
而不是子类(这似乎在单元测试中允许,但在普通代码中不允许),而是使用像这样:
STAssertTrue([returnObj isMemberOfClass:[ClassName class]], nil);
如果确实想要使用STAssertEqualObjects,您可以使用类似的东西(这也会检查类相等;它不允许实例成为一个子类):
STAssertEqualObjects([returnObj class], [ClassName class], nil);
就个人而言,我坚持选择1.选项2是我从未在生产代码中使用的东西,而选项3更糟糕([foo class]
有一些合法用途,但比较它到-equals:
的另一个类并不是其中之一。)