如何为UIViewControllers编写单元测试用例?

时间:2015-01-07 07:11:36

标签: ios unit-testing swift viewcontroller

具体来说,我想检查IBOutlets,但是使用

var vc = storyboard.instantiateViewControllerWithIdentifier("VCID") as UIViewController

IBOutlets是零。

2 个答案:

答案 0 :(得分:1)

在加载视图和连接插座之前,必须访问视图控制器的view属性。

let view = vc.view

会这样做,或者您可以通过将视图控制器设置为窗口的根视图控制器来在屏幕上显示视图控制器(这也将导致调用viewWill / DidAppear)。

答案 1 :(得分:0)

我们必须添加bundle作为NSBundle(forClass:self.dynamicType)而不是nil。

  func testClientsStoryBoard(){
        let storyboard = UIStoryboard(name: "abc", bundle:  NSBundle(forClass:  self.dynamicType))
        var vc = storyboard.instantiateViewControllerWithIdentifier("abcVC") as abcViewController
        vc.loadView()
        XCTAssertNotNil(vc.outletName,"Not Nil")

}