2013-10-15 61 views
1

我試圖進一步提升自己的TDD體驗,並且想知道如何檢查某個類是否存在屬性。具體來說,我想確保該對象有一個雙名爲累加器。如何檢查使用OCUnit/XCTest的對象上是否存在屬性?

// 
// 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

檢查它是否爲0是否合適?例如。 'XCTAssert(calculator.accumulator == 0.0,@「accumulator屬性在計算器類中不存在」);' – squarefrog

回答

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可能是搞清楚如何測試屬性的類型有幫助的。

+0

優秀的解決方案,謝謝比爾! – squarefrog

相關問題