2013-10-30 48 views
0

我正在閱讀Graham Lee的「測試驅動的iOS開發」以瞭解OCUnit。我認爲這是Xcode背後的一些版本,但仍然是一個有用的資源。在OCUnit中使用屬性安全嗎?

在這本書中的測試對象的類擴展這樣的聲明:

@interface BROAnswerTests : XCTestCase { 
    BROAnswer *answer; 
    BROAnswer *otherAnswer; 
} 
@end 

,然後實例化- (void)setUp

- (void)setUp 
{ 
    [super setUp]; 
    answer = [[BROAnswer alloc] init]; 
    answer.text = @"The answer is 42"; 
    answer.person = [[BROPerson alloc] initWithName:@"Graham Lee" avatarLocation: 
        @"http://example.com/avatar.png"]; 
    answer.score = 42; 
} 

難道是安全的類擴展使用@property代替?

回答

1

這是個人選擇的問題。

如果您使用屬性,你總是指他們self.something[self something],實例和局部變量之間的區分可能會更容易...

我個人使用高德與(被一些人討厭)「_」字首。

在唯一可以有所作爲的情況下是當聲明與copy屬性。在你的特定情況下(測試類),你通常使用屬性來抓住你的對象在測試和/或其依賴關係(嘲笑或不),所以在這些情況下使用副本是很少見的。

使用你認爲對你/你的團隊更好的東西。