2017-04-18 65 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层分裂这样的测试。例如,单元测试只有你的模型级代码。 –