2

我正在尝试进一步提升我在 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");
}
4

1 回答 1

3

要验证该属性是否存在,请在您的类上调用 +instancesRespondToSelector 以确保该属性生成的 getter 方法存在:

- (void)testExample {
    XCTAssertTrue([CSCalculatorModel instancesRespondToSelector:@selector(accumulator)], @"Accumulator property does not exist on calculator class");
}

Peter Hosey 对类似问题的回答可能有助于弄清楚如何测试属性的类型。

于 2013-10-15T20:31:39.530 回答