iOS單元測試SenTest

2022-07-15 17:18:13 字數 1912 閱讀 4813

環境:xcode 4.2

1、建立單元測試的target

選擇工程,點選add target,新增ios-other下的cocoa touch unit testing bundle型別target(圖1)。(網上一些資料說,target字尾必須是tests,但實際測試同名字無關係,可能是xcode版本原因),完成後如圖2。

圖1

圖2此時工程目錄下會多乙個testfuc資料夾,資料夾結構如下圖3,testfuc類是乙個測試用例類sentestcase的乙個例項:

圖32、新增sentestingkit.framework

選中測試的target,本專案中即testfuc,檢視build phases選項卡下的link binary with libraries,會發現專案中缺少對sentestingkit.framework庫的引用,將其新增。

3、執行testfuc測試

在scheme中選擇testfuc,生成時一定要選擇test,如果選擇run,則會出現「the scheme 'testfuc' is not configured for running」的錯誤。

成功執行後,發現輸出錯誤,錯誤資訊如下: 

testfuc.m:29: error: -[testfuc testexample] : unit tests are not implemented yet in testfuc

test case '-[testfuc testexample]' failed (0.000 seconds).

開啟testfuc.m,會發現在testfuc類的實現檔案中預設新增了乙個測試函式testexample,並新增乙個執行失敗的提示,如下:

- (void)testexample

看到這個錯誤,整個測試的準備工作已經完成,接下來就可以在測試用例的類例項中新增測試函式,測試函式的名稱就不能隨意了,必須以test為字首。在測試資料夾中還可以新增多個測試用例進行測試。

4、新增測試物件類,進行測試

完成步驟3後,可以開始對專案中具體的類進行方法測試。除了在相應的測試用例中新增該類的引用外,首先得將這個類引用加入該測試的target(很2地因為這個問題卡了許久),在本專案裡即為testfuc。新增引用的方式是,點選測試target(testfuc),選擇面板build phases,開啟compile sources,選中專案中要測試類的.m實現檔案將其拖入compile sources就ok。否則會產生如下error:

undefined symbols for architecture i386:

"_objc_class_$_測試類名", referenced from:

objc-class-ref in testfuc.o

ld: symbol(s) not found for architecture i386

如果測試的類存在nib檔案則,需要將nib檔案拖入build phases--copy bundle resources中。

ps:測試初探,錯誤的地方或者需要補充的地方請提示~~目前的感覺是花了多餘的力氣,只為了測試幾條靜態函式和介面屬性。。直接在專案中單步除錯,可能更快點。。

iphone開發之單元測試SenTestCase

使用xcode開發很長一段時間了,可是並沒有使用其中支援的單元測試的功能,所以特別留意了一下使用單元測試的方式。l iphone從sdk3.0開始直接支援單元測試,可以建立unit test bundle形式的target。方便了單元測試 的編寫。l還有乙個是用google toolbox for ...

iphone開發之單元測試SenTestCase

使用xcode 開發很長一段時間了,可是並沒有使用其中支援的單元測試的功能,所以特別留意了一下使用單元測試的方式。l iphone 從sdk3.0 開始直接支援單元測試,可以建立unit test bundle 形式的target 方便了單元測試 的編寫。l 還有乙個是用google toolbox...

iOS 單元測試

進入測試tab,可以執行工程自帶的測試用例。我們新增乙個自己的測試用例samplecalctests 在生成的samplecalctest.m中新增標頭檔案引用和成員變數 import ios calcviewcontroller.h inte ce samplecalctests xctestca...