创建新项目的时候,我们都能勾选单元测试那个选项,但是往往在iOS都没有写单元测试的习惯,所以经常不勾这个勾。今天突然需要往原来没单元测试的项目里面添加OCTest,google了一下,还挺麻烦的说……
首先添加一个Target,随便取个名字,例如unitTests
,在Build Phases
的Target Dependencies
里面添加需要测试的项目:
在Build Settings
–>Bundle Loader
,设置为$(BUILT_PRODUCTS_DIR)/待测试的Target名称.app/待测试的Target名称
在Build Settings
–>Test Host
,设置为$(BUNDLE_LOADER)
最后回到主项目的target(不是test),设置Symbols Hidden by Default
在Debug
时为NO
到这里基本完成了。
发现Scheme里面多了一个unitTests,可是Apple自动生成的却没有这个啊,我们test的时候都是用test功能,而不是运行这个unitTests项目啊?
试着调整了一下了Scheme,就可以了。
先删除unitTests的Scheme:
将主项目的test设置为unitTests:
这样就能用Test来进行单元测试了!