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 に答える