1. 程式人生 > >ios的單元測試OCUnit以及更新了之後的XCTestCase

ios的單元測試OCUnit以及更新了之後的XCTestCase

能夠 產生 進行 get per unit 有一個 邏輯 類方法

1、像一般創建項目的步驟一樣。創建一個用於測試的項目或者打開一個待測試的項目。

(oc是5.0之前所使用的測試,如今用的是XCtestCase,默認會創建一個主的測試類。曾經版本號可能非常多步驟省去)

例如以下:我們能夠看到一個text中的測試文件,如今全部測試類都是繼承XCTestCase類。

2、寫入對應的測試用例在測試類,測試類中對要測試的類須要進入對應的類的頭文件,這個是理所應當的。然後執行“執行測試”。快捷鍵:command+U或者product—> test。

以下是是執行成功之後的文檔。

技術分享

上面就是一個簡單的測試成功的樣例。



2、不同版本號之間的區別:

熟悉OCUtest的人應該非常快就能夠熟悉OCUnit。由於一般都是一樣的,XCTest是對OCUnit進一步的封裝。


存在下面一點微小的差異:
1)使用不同的框架,測試用例須要繼承不同的基類,XCTest繼承XCTestCase基類,而OCUnit繼承SenTest基類。
2)由於繼承的基類不同,所以那些斷言的方法名字的前綴也會發生改變。XCTest中的斷言方法是XCT——也就是前面幾個字母。相同OCUint中是ST。是SenTest的前綴。


3)(最大的差別)在XCTest中,使用類方法。使用者能夠使用類方法的級別的setUp和tearDown方法。讓測試代碼更加的合理。

更加的有效控制測試方法之間的隔離環境的問題。我們
4)到了6.0之後,省略了類方法,直接就是實例的setUp(進入)和tearDown(出來)方法和對應的實例方法。

例外兩個方法我們能夠從英文上面看出來,一個是測試功能性的樣例,一個是測試性能上的樣例。

技術分享

能夠看上面紅色地方添加了檢測代碼性能的方法。


3、如今的xcode中都能夠進行通過一個可管理的大量測試用例"分拆邏輯測試"。在代碼庫的增長和進化方面會產生非常多不同。

OCUnit和XCTest兼容性,他們之間的轉化是基於target——>by ——> target

步驟:
1.選擇 Edit > Refactor > Convert OCUnit to XCTest。


2.點擊下一步,進入到下一個工作表。
3.在出現的表單中,選擇要轉換的測試目標。


4.要查看一個特定的目標能否與 XCTest 轉換。請單擊其名稱。


5.單擊下一步button。彈出了一個FileMerge界面,能夠查閱更改。(這一步就是我們常常使用到的給邊文件名稱字的方法)
6.假設確定是這樣更改,就能夠單擊保存button。Xcode會把更改寫入文件。
參看鏈接:
http://www.cocoachina.com/ios/20140717/9168.html


4、書寫測試的是應該註意一些細節:

1)測試用例中的方法應該是曾經綴為test,我們經常寫為DISABLE_test… 這樣就不會測試,由於識別僅僅是識別test開頭的。

2) 測試須要一個放置的位置。比方我們測試一個用例的時候我們能夠創建對應的類,而且繼承XCTestCase。在xcode中直接選擇創建測試的類就好了。

3)測試要有一定的語氣效果,ios中表達預期的效果一般使用斷言來表示。

4)xcTestCase中測試都是依照一行行來進行測試,假設失敗,斷言會拋出異常。

5)測試用例,測試用例(能夠僅僅有一個方法,或者多個方法),運行的循序setup——> 測試用例的方法——> teardown .



ios的單元測試OCUnit以及更新了之後的XCTestCase