XCTest Xcode 7 beta 3 swift 2 从情节提要问题启动视图控制器

Posted

技术标签:

【中文标题】XCTest Xcode 7 beta 3 swift 2 从情节提要问题启动视图控制器【英文标题】:XCTest Xcode 7 beta 3 swift 2 initiate View Controller from storyboard issue 【发布时间】:2015-07-15 22:33:57 【问题描述】:

我在 XCTest 设置中有此代码

var passcodeVC:HNPasscodeViewController!
override func setUp() 
    super.setUp()
    let storyboard = UIStoryboard(name: "Main", bundle: NSBundle(forClass: self.dynamicType))
    self.passcodeVC = storyboard.instantiateViewControllerWithIdentifier("HNPasscodeViewController") as! HNPasscodeViewController
    self.passcodeVC.viewDidLoad()

Xcode 在这一行给我错误“Could not cast value of type”

self.passcodeVC = storyboard.instantiateViewControllerWithIdentifier("HNPasscodeViewController") as! HNPasscodeViewController

我正在使用带有 Xcode 7 beta 3 的 Swift 2.0。我尝试了捆绑:

nil
NSBundle.mainBundle()
NSBundle(forClass: self.classForCoder) 
NSBundle(forClass: self.dynamicType) (Xcode doesn't autocomplete this but gives me no error)

我还添加了自定义视图控制器类来编译列表和主故事板到测试目标的资源。

有什么想法吗?谢谢

【问题讨论】:

【参考方案1】:

而不是将我的所有自定义类公开给测试目标。我在 swift 2 中使用了这个新的测试声明

@testable import <my module name>

现在效果很好。

【讨论】:

以上是关于XCTest Xcode 7 beta 3 swift 2 从情节提要问题启动视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

XCode 7 XCTest(Kiwi) +加载类别方法调用了两次

Xcode 7 中的 XCTest:如何验证视图中是不是存在某些文本

Xcode 5//iOS 6 和 7//TDD:OCUnit 或 XCTest

iOS 单元测试- Xcode 7测试工具XCTest学习

XCode 7 (Beta 3 & 4) 无法下载和安装 iOS 8.* 模拟器

如何在 OS X 10.10.3 上运行 Xcode 7 beta 5?