簡體   English   中英

XCTest優於SenTestingKit有什么優勢?

[英]What are the advantages of XCTest over SenTestingKit?

我想在iOS中進行單元測試。 默認情況下,測試類是使用Xcode 5中的XCTest框架類創建的。我在早期版本的iOS中使用過SenTestingKit。 這兩個框架之間有什么區別? XCTest框架有哪些優點。 我搜索相關文檔,但我沒有找到任何。 我發現的只是套件中使用的接口類。 誰能指出我相關的資源。

Apple的文檔在測試方面尤其缺乏。 這是一種恥辱,因為用XCTest花了五分鍾讓我感到沮喪。 所以,這里有一些你可能會覺得有用的文檔。

首先,停下來觀看有關測試的WWDC視頻: https//developer.apple.com/wwdc/videos/? include = 409 #409(必須是注冊開發者)

然后,閱讀Bots。 它們是XCTest中真正的魔力。 我目前正在建立一個運行Mavericks服務器的Mac Mini環境,該服務器連接到一小部分iPod Touch,iPhone和iPad,它們將同時運行我的單元測試並報告回來。 它真是太神奇了。

https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/xcode_guide-continuous_integration/000-About_Continuous_Integration/about_continuous_integration.html#//apple_ref/doc/uid/TP40013292

所有這一切,我不太了解SenTest足以比較兩者。 但是我正在學習XCTest,所以這里有一些關於我到目前為止正在挖掘它的想法。

  • 它已經存在了。 沒有什么可下載的,您可以在制作要測試的對象的同時制作測試類對象。 拉德。
  • 因為它與Xcode的集成非常深入,所以您可以在排水溝中看到測試覆蓋率。 您還可以使用Companion View從源查看測試器,或從測試器方法查看源。 此外,它將永遠是最新的 - 沒有等待修復與Xcode的集成,因為蘋果“打破”了一些東西。
  • 持續集成。 機器人只是神奇的,它們很容易。 你也得到Git托管,這是一個小的邊緣特權,但如果你更喜歡你的Git內部托管但不想支付GitHub Enterprise更多。

並且,一些衡量標准:

  • 缺乏文檔。 要求我閱讀斷言列表的標題是一個很好的舉動。 我毫不懷疑Apple很快會解決這個問題,但不會很快。
  • 你更深入地與Xcode聯系在一起。 並不是真正的開發,但腳本XCTest並不像其他選項那樣優雅。
  • 持續集成需要OS X Server。 如果你真的想要,它可以在同一台機器上,但即使你擁有Mountain Lion Server,也可以購買20美元。 我對這個(ha)一點都不苦。

我的兩分錢。 希望能幫助到你。 我真的建議觀看我鏈接的視頻 - 他們會進行實時測試創建,並為一般的單元測試制作一個非常引人注目的案例,無論你是否使用XCTest。

XCTest默認包含在ios7中,並且與新的持續集成功能更好地集成。
https://developer.apple.com/technologies/tools/

看來優勢目前很少,但隨着時間的推移,這將有希望改變,所以啟動社區維基來記錄一些:

  • XCTAssert…系列宏可以處理你XCTAssert… format參數(用於評論測試應該通過的原因)。 這對於在編輯器中保持簡單測試(從測試本身顯而易見的是它在做什么)清理是很方便的。 STAssert…要求我們將format參數設置為nil或其他一些。
  • 有一個通用的XCTAssert()宏,它比把一些類型的檢查放入STAssertTrue感覺更整潔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM