单元测试与计算机视觉在iPhone开发中的应用
1. 单元测试的价值与实践
1.1 单元测试优化代码
在开发过程中,我们常常会遇到代码实现不够优化的情况。例如,计算歌曲总时长的代码最初可能是这样的:
for (Song *song in [[self songs] allObjects])
{
duration += [song durationValue];
}
return duration;
这段代码虽然能让测试通过,但并非最优实现。我们可以利用键值编码(KeyValue coding)来优化它:
- (NSTimeInterval) duration
{
return [[self valueForKeyPath:@"songs.@sum.duration"] doubleValue];
}
优化后的代码更简洁,并且测试依然能够通过,这充分体现了单元测试的强大作用,它能让我们有信心对代码进行优化。
1.2 持续集成与单元测试
持续集成环境(通常是服务器或备用桌面)是一种自动编译应用程序并针对编译后的应用运行单元测试的方法。它严重依赖版本控制系统,如Mercurial、Git或Subversion来获取代码副本。只要将代码提交,持续集成系统就会自动检查应用程序是否存在错误。与XCode(以及命令行工具xcodebuild)兼容的解决方案有Integrity、Cruisecontrol.rb
超级会员免费看
订阅专栏 解锁全文
769

被折叠的 条评论
为什么被折叠?



