ios - 从 Storyboard 中实例化 View Controller 时出现 XCTestCase 错误

标签 ios swift unit-testing

我在快速使用单元测试方面还很陌生,当我尝试创建用于测量性能的单元测试时,我遇到了错误。

这是我的测试用例的代码。

func testPerformaceFetchSearchResult(){
    //let ICD9ViewController = ICD9Controller() //this is not working since i need the IBOutlet also
    var ICD9ViewController:ICD9Controller!

    let storyboard:UIStoryboard = UIStoryboard(name: "Main", bundle:NSBundle(forClass: self.dynamicType))
    ICD9ViewController = storyboard.instantiateViewControllerWithIdentifier("ICD9Controller") as! ICD9Controller
    ICD9ViewController.beginAppearanceTransition(true, animated: false)

    ICD9ViewController.code = "0"
    ICD9ViewController.name = ""
    ICD9ViewController.desc = ""
    ICD9ViewController.sortBy = 1
    ICD9ViewController.customPage.pageNo = 1
    ICD9ViewController.customPage.pageSize = 10

    self.measureBlock(){
        ICD9ViewController.fetchSearchResult()
    }
}

错误在这一行

ICD9ViewController = storyboard.instantiateViewControllerWithIdentifier("ICD9Controller") as! ICD9Controller

错误信息是

Could not cast value of type 'appName.ICD9Controller' (address) to 'appName.ICD9Controller' (differentAddress)

我已经阅读了几个关于 XCTestCase 的问题,大部分错误是无法将 _appName_.viewController 类型的值转换为 _appNameTests_.viewController 这对我来说不是这种情况因为我已经检查了 Storyboard和 Controller 的目标成员资格。

我的问题是,如何正确地从 Storyboard 中实例化 View Controller 以进行单元测试?

最佳答案

View Controller 和 Storyboard应该只在应用程序目标上可用,然后您可以使用 @testable 在您的测试中访问它。

检查这 post对你也有帮助。另外,如果这不起作用,请尝试使用 NSBundle.mainBundle() 而不是测试包。

关于ios - 从 Storyboard 中实例化 View Controller 时出现 XCTestCase 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34734096/

相关文章:

ios - 在 Swift 语言中有没有什么方法可以将编译后的类发布到已发布的程序中?

swift - 选择UITableView中的单个单元格即可转到UITableView显示不同的学生列表数据

c# - 代码依赖单元测试

python - 如何在 django 请求工厂发布请求中设置 request.body?

ruby-on-rails - RSpec:let 和 before block 有什么区别?

iphone - 访问 google reader 的 Endpoints API 时出错

ios - UIButton 标题在动画完成之前不会更新

ios - 从解析错误中删除信息

iphone - OpenGL ES 2.0 GLKit GL_LINE_SMOOTH 错误

ios - 找不到 downloadimageurl 来下载 Collection View 单元格图像的图像