我一直在尝试在Swift中编写测试用例来测试我的ViewController。但是,当我尝试在XCTestCase中实例化自己的ViewController时,我得到“使用未声明的类型”ViewController’“。 (ViewController是我自己的UIViewController类的名字)
之前有谁面对这个问题吗?我正在使用Xcode 6 beta 5
斯威夫特1
如果您不使用框架,您还应该添加ViewController.swift文件的目标成员身份作为测试目标。选择类文件添加到目标,如图所示:
要么
如果您是ViewController是在一个框架内:ViewController类是在不同的目标,你没有声明具有公共访问级别的类。默认情况下,Classes是内部的(可在目标中访问)。将其声明为公开的,并且如果要访问它也将方法或属性设置为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
您现在可以访问测试目标中的公共和内部符号。