在 OCUnit 中使用属性是不是安全?
Posted
技术标签:
【中文标题】在 OCUnit 中使用属性是不是安全?【英文标题】:Is it safe to use properties in OCUnit?在 OCUnit 中使用属性是否安全? 【发布时间】:2013-10-30 10:03:44 【问题描述】:我正在阅读 Graham Lee 的“Test-Driven ios Development”来学习 OCUnit
。我认为它比 Xcode 落后了几个版本,但仍然是一个有用的资源。
在本书中,测试对象在类扩展中声明,如下所示:
@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]
来引用它们,那么区分实例变量和局部变量可能会更容易...
我个人使用带有(被某些人讨厌的)“_”前缀的 ivars。
唯一可能产生影响的情况是使用copy
声明属性时。在您的特定情况下(测试类),您通常使用属性来获取被测对象和/或其依赖项(无论是否模拟),因此我认为在这些情况下使用副本很少见。
使用您认为对您/您的团队更好的方法。
【讨论】:
以上是关于在 OCUnit 中使用属性是不是安全?的主要内容,如果未能解决你的问题,请参考以下文章
OCUnit 是不是允许在 iPhone 模拟器上运行应用程序测试?