我一直在尝试用 Swift 编写测试用例来测试我的 ViewController。但是,当我尝试在 XCTestCase 中实例化我自己的 ViewController 时,我得到了 “使用未声明的类型‘ViewController’”。 (ViewController是我自己的UIViewController类的名字)
有没有人遇到过这个问题?我正在使用 Xcode 6 beta 5
最佳答案
swift 1
如果您不使用框架,您也应该将 ViewController.swift 文件的目标成员添加为您的测试目标。选择类文件添加到目标,如图所示:
或
如果您是 ViewController 在一个框架内:ViewController
类在不同的目标中并且您没有声明具有公共(public)访问级别的类。默认情况下,类是内部的(在目标内可访问)。将其声明为公共(public)的,如果您想访问它,还可以将方法或属性设为公共(public),即
public class ViewController: UIViewController {
public var content: String!
override public func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override public func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
swift 2 更新
在您的测试目标中,只需使用 @testable
关键字导入您要测试的模块:
@testable import moduleToTest
您现在可以访问测试目标中的 public
和 internal
符号。
关于swift - 在 Swift 中对我自己的 ViewController 进行单元测试时使用未声明的类型 'ViewController'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25305945/