2011-03-31 98 views
8

我期待在我的公司設置測試,但我對啓動的最佳方式有點模糊。XCode4單元測試和UIAutomation

我知道我可以使用框架進行單元測試,比如OCUnit,GHUnit或SenTestingKit ......迄今爲止都非常好。我可以制定一個目標,其中邏輯測試我的項目,使用模擬對象等

我也知道使用UIAutomation和JavaScript來驅動和測試的GUI。所以,現在如果我實現了一個相當複雜的GUI功能,我想邏輯測試我的代碼,並使用UIAutomation測試GUI。我怎麼把這兩種方法結合起來,還是將它們分開處理,在這種情況下我是否假設我需要編寫兩個套測試兩個不同語言才能完全測試一個功能?

另一方面,如果任何人都可以提供良好的鏈接,以便在已經成熟且不太模塊化的代碼庫上開始測試的建議,那將非常值得讚賞。

謝謝!

回答

4

UIAutomation是基於JavaScript的。測試用例是JavaScript文件的集合,稍後由Instruments執行。

是的,你必須這樣做seperately:

  1. 它是一個完整不同的語言(JS)
  2. 它不是在Xcode中,構建執行,但通過儀器
  3. GUI測試有不同的測試範圍從單元或邏輯測試。即使與邏輯測試有一些相似之處。它也被測試,如果GUI「行爲正確」。

此視頻可能會對您有所幫助。花一個小時,然後你應該可以自己決定(UIAutomation會話)。

http://developer.apple.com/videos/wwdc/2010/

順便說一句:還有就是目前自動化UIAutomation測試沒有令人滿意的方式(對於邏輯和單元測試,也有一些)。例如將它們與持續代碼集成結合起來。有關於這方面的討論,但我迄今還沒有看到解決方案。總而言之,你可以用一下,要不是認真的測試UIAutomation仍然是不適用:

  1. 沒有測試自動化
  2. 的測試用例沒有分離。如果您的編排中有一個案例失敗,則以下所有測試可能無效。
+1

對於簡單的測試用例分離,您可以使用亞歷克斯沃爾默的調整庫中的test()函數:https://github.com/alexvollmer/tuneup_js – jki 2011-04-26 16:03:32

+0

我剛剛在這裏閱讀您的答案。你知道蘋果是否用iOS5改進了UIAutomation?我聽到有關它的傳聞,但由於UIAutomation上的Apples文檔非常稀少,我找不到有關該主題的任何其他信息。 – 2012-03-12 11:05:02