2009年12月4日 星期五

Configure Unit Test in Xcode 3.1.3

Test Driving Development 是一種開發 Project 的方式. 可以自動化去檢查每個要檢查的地方有沒有正常工作. 可以有效的減少許多在開發和除錯過程中產生的 side effect 的發生. 因此, Refactoring , 非常的倚賴這種工具來加強開發的安全性. 除此之外, 要先寫好 test case 然後才 implement 實體 method 的邏輯, 也可以讓 method 的邏輯會更明確, 否則 test case 會難以設計. 所以, 今天在介紹在 Xcode 裡面, 應該如何設定 test unit.

1. 假設我們要採用 Test Driving Development 來開發 Project
myApp, 然後要測試一個 MyDemo class. 首先, 我們要先把 Unit Test Bundle 給加入 project, 選擇 New Target...

2. 選擇 Unit Test Bundle template


3. 幫此 bundle 取一個不易混淆的名字. (ex: Unit Tests)

4. Unit Tests bundle 裡建立 myApp Direct Dependencies.


5. 選擇 New Group 來新建一個資料夾來放 Test Classes 以區隔開 source codes

6. 在新建的資料夾 (ex: Tests) 新增 Test case class.

7. 選擇 Test case class template

8. 取一個不易混淆的 test class 名字. (ex: 這邊因為要測試 MyDemo 這個 class, 所以叫 MyDemoTests),
並且, 選擇 target ONLY 作用在 Unit Tests 這個 target .

9. 設定要測試的 MyDemo.m 可以作用在 myApp Unit Tests 上面.

10. 切換 active target Unit Tests 上面

12. 今天因為 MyDemo 什麼都沒有, 那我們就來測試看看 creation 好了. 新建一個 testMyDemoCreation的程式.
這邊要注意一下, unit test test method 取名, 請用 test 開頭 (ex: testMyDemoCreation), 否則系統不會認為這個是
要測試的 method.

13.

14. 寫好 testMyDemoCreation後就開始 build, 可以看到 build success. (因為只是測試 init 成不成功而已, 會失敗就有鬼了 XD)

15. 故意弄失敗他, 把他從 STAssertNotNil 給改成 STAssertNil, 並重新 build. Error message 就跑出來啦.

完畢!! 感謝大家收看, 下回再見~~

沒有留言:

張貼留言