我正在尝试进一步拓展TDD的经验,我想知道如何检查某个类是否存在属性。具体来说,我想确保对象有一个双重命名的累加器。
//
// CSCalculatorModel.h
// Calculator
//
#import <Foundation/Foundation.h>
@interface CSCalculatorModel : NSObject
@property (nonatomic) double accumulator;
@end
我知道我可以对对象使用如下测试,但是如何测试C标量?
- (void)testExample
{
XCTAssertNotNil(calculatorClass.accumulator, @"Accumulator property does not exist on calculator class");
}
答案 0 :(得分:3)
要验证属性是否存在,请在类上调用+ instancesRespondToSelector以确保属性生成的getter方法存在:
- (void)testExample {
XCTAssertTrue([CSCalculatorModel instancesRespondToSelector:@selector(accumulator)], @"Accumulator property does not exist on calculator class");
}
Peter Hosey's answer to a similar question可能有助于弄清楚如何测试属性的类型。