My Hieron Weblog

iPhone Dev

关于iPhone SDK Unit Test

by Anto on Apr.17, 2009, under iPhone Dev

由于这两天在写一个iPhone Midi的播放库,所以需要运行一些Unit Test,经过一番调研,发现现在有三个解决方案。他们是
1.  SDK2.2以后系统自带的OCUnit库,在XCode可以直接添加Unit Test Target和Cocoa Touch Test case,但对于在XCode里无缝的运行,我始终没找到任何答案,在现有2.2SDK和3.0SDK的文挡里,仍旧强调iPhone Unit Test仍未支持。不知道Apple到底为什么把没有完成的测试模块放到XCode里,还是没有时间更新文挡。总之最简便的路行不通。

2. 我用的方法实际于现有自带的OCUnit库,手工添加Unit Test的Target, 从而为我的项目添加Unit Tests. 在本文的最后我会具体描述一下配制方法。此种方法的优点是编译后马上能看到结果,但是缺点是无法做UI测试。

3. 另一个方法是用google-toolbox-for-mac中带的iPhone Unit Test 框架,其实此框架也是基于OCUnit库,但是区别是google-toolbox-for-mac添加了一部分自己的代码从而实现有限的UI测试。但是经过测试,我发现google-toolbox-for-mac的Unit Test 工具在>2.1编译的程序上无法正常工作。所以最终放弃了它。

配制步骤

1.  添加一个新的Target,例如UnitTests

从Project -> New Target, 选择添加一个Cocoa Touch->Unit Test Bundle.

2. 配制UnitTests Target

双击新添加的UnitTests Targets 打开Target 信息。在general页面里添加两个linked Library,一个是Fundation,一个是SenTestingKit(/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.2.sdk/Developer/Library/Frameworks/SenTestingKit.framework).

3.添加Target dependency

如果你希望你的项目每次编译的时候都自动运行Unit Test,你可以双击你的项目Target,在general页面上添加direct dependency为UnitTests。

4. 最后你可以添加的Test Case到UnitTests Target里,此代码编译后会提示test case 出错信息。


#import

@interface MyTests : SenTestCase {

}

@end


#include "TargetConditionals.h"
#if !TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR

#import “MyTests.h”

@implementation MyTests

- (void)testMyAddition {
STAssertEquals (1 + 1, 2, @”");
STAssertEquals (1 + 2, 2, @”");
}

@end
#endif

7 Comments : more...

iPhone 3.0

by Anto on Mar.18, 2009, under iPhone Dev

看了iPhone 3.0 的介绍,有如下感想:
1.更多牛差的API我们可以用。 好处:我们可以做更多的事情。
2.更多的付费模式使更多的商业公司有可能尝试build基于iPhone的产品。好处:可以有机会和一些传统行业合作,做付费产品,或者直接做外包。
3.跟多的外接设备支持,这一点太牛了,这样就吧硬件外设厂商放到长尾里了。好处:可以和硬件厂商合作推出一些特殊的产品,此种产品可以保证相对的唯一性。
4.P2P,最直接的好处是可以开发很多对战或协作的功能,从而加大软件的销售。
5.Push notification, 好像还是离咱们很远,需要service的软件还是有一定运营成本的。

iPhone 3.0 Presentation

6 Comments : more...

过去六个月我都干什么了

by Anto on Mar.11, 2009, under iPhone Dev

从去年8月到今天我一直忙死忙活的写一个iPhone App,现在终于接近发布了,人也轻松了很多, 看着iPhone上运行的程序,感觉有点审美疲劳。不知道大家是不是有同感。

5 Comments : more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...

Archives

All entries, chronologically...