日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

iOS7初体验(2)——单元测试

發(fā)布時(shí)間:2023/12/9 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS7初体验(2)——单元测试 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在Xcode 4.6及以前的版本,一直覺(jué)得單元測(cè)試這部分功能做得很雞肋,用起來(lái)感覺(jué)很別扭。這一次Xcode 5.0默認(rèn)就引入了單元測(cè)試,趕快來(lái)看看看相比以前的版本有什么提升吧!~_~

1.?????首先打開(kāi)上一節(jié)示例用的項(xiàng)目,當(dāng)然,您也可以新建一個(gè)空白的項(xiàng)目;

2.?????先看一下導(dǎo)航區(qū)域的工具欄,相比4.6有哪些變化,如下圖所示:


不難發(fā)現(xiàn),相比Xcode 4.6多了一個(gè)Show the Test Navigator(顯示測(cè)試導(dǎo)航器)的按鈕;

3.?????按command+U運(yùn)行單元測(cè)試……稍等幾秒之后,可以在Issue Navigator(問(wèn)題導(dǎo)航器)中看到與4.6類(lèi)似的提示,如下圖所示:


4.?????單擊Show the Test Navigator(顯示測(cè)試導(dǎo)航器)按鈕,如下圖所示:


5.?????在HelloWorldTests.m文件中,@end之前添加以下代碼:

- (void)testExample2

{

??? XCTAssertTrue(1 == 1, @"just a test");

}

6.?????按command+U運(yùn)行單元測(cè)試……稍等幾秒之后,可以在Test Navigator中看到以下測(cè)試結(jié)果:


7.?????在導(dǎo)航區(qū)域的testExample2上右擊,會(huì)顯示輔助菜單,如下圖所示:


在圖中可以看到能夠單獨(dú)運(yùn)行/禁用某一個(gè)單元測(cè)試~_~。

備注:如果選擇test “testExample2”不難發(fā)現(xiàn),其實(shí)testExample和testExample2兩個(gè)單元測(cè)試都會(huì)運(yùn)行,并且會(huì)在問(wèn)題導(dǎo)航區(qū)域中顯示所有測(cè)試結(jié)果,而在測(cè)試導(dǎo)航區(qū)域卻只更新testExample2的測(cè)試狀態(tài)。這一問(wèn)題相信在未來(lái)Xcode的版本中會(huì)有所改善。:]

8.?????下面演示一下如何對(duì)數(shù)據(jù)模型進(jìn)行測(cè)試,首先在HelloWorld項(xiàng)目中新建一個(gè)名為DataModel的類(lèi),繼承自NSObject;

9.?????首先在導(dǎo)航區(qū)域的HelloWorld節(jié)點(diǎn)上右擊,然后在輔助菜單中選擇New File…,在彈出的對(duì)話框中選擇Objective-C class,然后單擊Next按鈕:


10.??在下一個(gè)對(duì)話框的Class中輸入:DataModel,并確認(rèn)Subclass of:中選擇的是NSObject,然后單擊Next按鈕:



11.??單擊并打開(kāi)DataModel.h,增加一個(gè)屬性定義,調(diào)整后的代碼如下:

#import <Foundation/Foundation.h>

?

@interface DataModel : NSObject

?

@property (assign, nonatomic) NSInteger myId;

?

@end

12.??單擊并打開(kāi)DataModel.m,增加init方法,將myId的默認(rèn)值設(shè)置為100,調(diào)整后的代碼如下:

#import "DataModel.h"

?

@implementation DataModel

?

- (id)init

{

??? if ((self = [super init])) {

??????? _myId = 100;

??? }

??? return self;

}

?

@end

13.??單擊導(dǎo)航區(qū)域工具條中的Show the Test Navigator(顯示測(cè)試導(dǎo)航器)按鈕,然后右擊HelloWorldTests,在彈出的輔助菜單中選擇New Test Class…


14.??在下一個(gè)對(duì)話框的Class中輸入:DataModelTests,并確認(rèn)Subclass of:中選擇的是XCTestCase,然后單擊Next按鈕,并直接單擊下一個(gè)對(duì)話框中Create按鈕:



15.??單擊上圖中的DataModelTests節(jié)點(diǎn),首先引入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運(yùn)行單元測(cè)試……


?

搞定收工!

?

有關(guān)單元測(cè)試的好處,本文就不贅述了哈,相信有過(guò)Java或.Net開(kāi)發(fā)經(jīng)驗(yàn)的朋友都深有感觸了。進(jìn)一步了解iOS7中的單元測(cè)試,可以參閱蘋(píng)果官方文檔。

?

著作權(quán)聲明:本文由http://blog.csdn.net/liufan321或者h(yuǎn)ttp://www.cnblogs.com/liufan9原創(chuàng),歡迎轉(zhuǎn)載分享。請(qǐng)尊重作者勞動(dòng),轉(zhuǎn)載時(shí)保留該聲明和作者博客鏈接,謝謝!

?

轉(zhuǎn)載于:https://www.cnblogs.com/snake-hand/archive/2013/06/14/3136935.html

總結(jié)

以上是生活随笔為你收集整理的iOS7初体验(2)——单元测试的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。