簡體   English   中英

如何對UIGestureRecognizer子類進行單元測試?

[英]How to unit test UIGestureRecognizer subclasses?

有沒有人成功測試過UIGestureRecognizer的子類? 如果是這樣,您使用或推薦什么方法? 如果是這樣,你如何合成事件呢?

我正在使用Cedar並計划通過模擬NSTouch對象來測試自定義UIGestureRecognizers,將它們捆綁為一組,並對各種UITouchGestureSubclass點進行適當的調用。 此單元測試自定義類。 通過調用在UIGR子類上注冊的action方法測試父類的行為。

我還沒有看到一個好的單元測試解決方案,我很快就需要找到一個,所以我很樂意看到或者有更好的答案。

正如@tooluser建議你可以為UITouch對象提供“漂亮”的模擬。 因為UITouch沒有提供“真正的”UITouch實例的公共構造函數很棘手並且依賴於私有API調用。 不幸的是,由於那些觸摸模擬需要通過框架代碼,你無法看到或控制你必須希望你的模擬實際上匹配他們加倍的UITouches的所有預期行為(包括我們看不到的任何私人行為)。 這讓我很緊張。

或者,您可以關注@ Sulthan的解決方案,並通過UI驅動集成測試測試您的手勢識別器。 這是我到目前為止使用的方法。 使用UIAutomation或第三方測試框架(如FrankKIF)生成與視圖的交互,並斷言手勢識別器按預期觸發。 這至少可以讓你單獨測試識別器(即使不是真正的單元測試)。

我通常想要進行一些集成測試來驗證自定義視圖中多個識別器之間的交互是否正常運行所以我發現這種方法太糟糕但是真的能夠測試驅動器識別器的開發會很好。單位級別(如果沒有別的話,用於測試執行時間)。

它不完全是單元測試,但是如何測試用戶界面的最佳方法是使用自動化。 基本上你寫了一個javascript,然后你在Automation下的Instruments中運行它。

它沒有很好地記錄,幾乎沒有教程。 准備沮喪。

暫無
暫無

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

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