iOS7初体验(2)——单元测试
在Xcode 4.6及以前的版本,一直覺得單元測試這部分功能做得很雞肋,用起來感覺很別扭。這一次Xcode 5.0默認就引入了單元測試,趕快來看看看相比以前的版本有什么提升吧!~_~
1.?????首先打開上一節示例用的項目,當然,您也可以新建一個空白的項目;
2.?????先看一下導航區域的工具欄,相比4.6有哪些變化,如下圖所示:
不難發現,相比Xcode 4.6多了一個Show the Test Navigator(顯示測試導航器)的按鈕;
3.?????按command+U運行單元測試……稍等幾秒之后,可以在Issue Navigator(問題導航器)中看到與4.6類似的提示,如下圖所示:
4.?????單擊Show the Test Navigator(顯示測試導航器)按鈕,如下圖所示:
5.?????在HelloWorldTests.m文件中,@end之前添加以下代碼:
- (void)testExample2
{
??? XCTAssertTrue(1 == 1, @"just a test");
}
6.?????按command+U運行單元測試……稍等幾秒之后,可以在Test Navigator中看到以下測試結果:
7.?????在導航區域的testExample2上右擊,會顯示輔助菜單,如下圖所示:
在圖中可以看到能夠單獨運行/禁用某一個單元測試~_~。
備注:如果選擇test “testExample2”不難發現,其實testExample和testExample2兩個單元測試都會運行,并且會在問題導航區域中顯示所有測試結果,而在測試導航區域卻只更新testExample2的測試狀態。這一問題相信在未來Xcode的版本中會有所改善。:]
8.?????下面演示一下如何對數據模型進行測試,首先在HelloWorld項目中新建一個名為DataModel的類,繼承自NSObject;
9.?????首先在導航區域的HelloWorld節點上右擊,然后在輔助菜單中選擇New File…,在彈出的對話框中選擇Objective-C class,然后單擊Next按鈕:
10.??在下一個對話框的Class中輸入:DataModel,并確認Subclass of:中選擇的是NSObject,然后單擊Next按鈕:
11.??單擊并打開DataModel.h,增加一個屬性定義,調整后的代碼如下:
#import <Foundation/Foundation.h>
?
@interface DataModel : NSObject
?
@property (assign, nonatomic) NSInteger myId;
?
@end
12.??單擊并打開DataModel.m,增加init方法,將myId的默認值設置為100,調整后的代碼如下:
#import "DataModel.h"
?
@implementation DataModel
?
- (id)init
{
??? if ((self = [super init])) {
??????? _myId = 100;
??? }
??? return self;
}
?
@end
13.??單擊導航區域工具條中的Show the Test Navigator(顯示測試導航器)按鈕,然后右擊HelloWorldTests,在彈出的輔助菜單中選擇New Test Class…:
14.??在下一個對話框的Class中輸入:DataModelTests,并確認Subclass of:中選擇的是XCTestCase,然后單擊Next按鈕,并直接單擊下一個對話框中Create按鈕:
15.??單擊上圖中的DataModelTests節點,首先引入DataModel的頭文件:
#import "DataModel.h"
16.??刪除testExample方法,然后在@end之前添加以下代碼:
- (void)testModelDefaultId
{
??? DataModel *model = [[DataModel alloc]init];
??? XCTAssertEquals(model.myId, 100, @"The default id should be 100");
}
17.??按command+U運行單元測試……
?
搞定收工!
?
有關單元測試的好處,本文就不贅述了哈,相信有過Java或.Net開發經驗的朋友都深有感觸了。進一步了解iOS7中的單元測試,可以參閱蘋果官方文檔。
?
著作權聲明:本文由http://blog.csdn.net/liufan321或者http://www.cnblogs.com/liufan9原創,歡迎轉載分享。請尊重作者勞動,轉載時保留該聲明和作者博客鏈接,謝謝!
?
轉載于:https://www.cnblogs.com/snake-hand/archive/2013/06/14/3136935.html
總結
以上是生活随笔為你收集整理的iOS7初体验(2)——单元测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ElasticSearch远程随意代码运
- 下一篇: 什么是数论