2011-12-02 34 views
1

我最近一直被介紹給在編程紅寶石的想法後,愛單元測試簡單的單元測試。我知道在Xcode中有一個首選項'包括單元測試',所以我嘗試了它。首先,它是很難找到的框架文件,其次它是一個麻煩,以單元測試添加到Foundation命令行工具。隨着它的所有不同的計劃和目標等實現與Objective-C的

這讓我想到寫一個極小的,易於包括單元測試框架,主要用於教育目的。

我的想法是,你會編寫一個以測試開始的啓動和清理方法和方法。然後我會寫5-6斷言函數。 (最喜歡的框架),然後在main(),你會這樣說:

[MyAppTests test]; 

或類似的東西。然後將運行所有測試方法並記錄錯誤或成功記錄。然後我可以在未來繼續發展。

我的問題是,一個將如何實現,你可以運行使用基金會,也許C標準庫在Objective-C測試開始的所有方法?而對於這樣的事情,最佳/最小的設計是什麼?

回答

1

使用Objective-C運行時參考來了解如何獲取方法名稱列表。例如,您可以過濾出設置和清理方法,或僅包含以「test」開頭的方法。我很確定這是SenTest框架內置的內置功能。

http://developer.apple.com/library/mac/#documentation/cocoa/Reference/ObjCRuntimeRef/Reference/reference.html

當我做經常使用的C函數像這樣的我常常喜歡將它們包裝在一個工具類,或者在適當的時候,一個類別。

+1

我不知道,如果SenTest的開源版本是完全相同蘋果的分佈,但它應該是足夠接近,所以如果有人想看看它是怎麼做的,代碼是在這裏:HTTP:// WWW .sente.ch /軟件/的OCUnit /#下載 – Monolo

+0

這些都是偉大的想法,謝謝! – kmikael