访问view属性时,Swift视图控制器测试失败并显示EXC_BAD_INSTRUCTION

时间:2015-04-13 15:35:07

标签: ios swift testing

我们正在尝试为我们的视图控制器设置测试,并且我们已经使用一些更简单的视图控制器成功完成了测试。但我们刚刚开始使用一个更复杂的视图控制器获得EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)。我们的测试看起来像这样:

class GEKMasterViewControllerTest: XCTestCase {

    var viewController: GEKMasterViewController!

    override func setUp() {
        super.setUp()

        viewController = GEKMasterViewController()
        let _ = viewController.view
    }
}

在实际的视图控制器中,它始终在此行上失败:

override public func viewDidLoad() {
    super.viewDidLoad()

    // Set the main view height
    mainViewHeight = self.view.frame.height - 64.0 // EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)

所有类都设置为public,并且在测试文件中正确导入了应用目标。当您对此行进行注释时,它会继续点击视图控制器中的其他几行并失败。似乎有一个更严重的问题,我们的测试设置导致这种行为的方式,但所有(稀缺)Swift测试资源显示类似的用法。在Swift测试目标中尝试访问视图控制器的view属性时,是否有一个共同的原因我们会看到EXC_BAD_INSTRUCTION

0 个答案:

没有答案