2017-04-18 68 views
0

是任何人都知道,在單元測試的時候,我們如何能測試中雨燕的按鈕,功能的tableView 3.故障使用單元測試

比如我有一個按鈕動作:

@IBAction func BellAction(_ sender: Any) { 
    let searchVC = self.storyboard?.instantiateViewController(withIdentifier:StoryBoardIDs.Notification.rawValue) 
    self.navigationController?.pushViewController(searchVC!, animated: true) 
} 

爲了測試這個:

let home = HomeDashnboard() // This is my class 
home.viewDidLoad() // test viewDidLoad() 
home.BellAction() // shows an error 

回答

2

可惜你不能直接調用/操作你視圖控制器意見,像那樣。這些類生命週期/流程由UIKit控制,並在您的iOS應用程序定期執行期間在特定時刻調用。這將是非常容易出錯試圖模仿自己的這種行爲:-(

但是,如果你想測試你的應用程序的用戶界面,我強烈建議左看右看到UI Testing framework還提供的Xcode:

UI測試讓你找到和你的應用程序的UI以驗證UI元素的屬性和狀態交互的能力。

UI測試包括UI記錄,這讓您可以生成代碼的能力它可以像你一樣操作你的應用程序的用戶界面,並且你可以擴展你的應用程序的用戶界面n來實現UI測試。這是快速開始編寫UI測試的好方法。

+0

聖保羅,我做到了在UI測試,但面臨的問題在單元測試 –

+0

@GurwinderSingh測試代碼,如果你真的需要單元測試,它可能是值得考慮從你的UI層分裂這樣的測試。例如,單元測試只有你的模型級代碼。 –