XCTestCase 子类实现如下:
import XCTest
@testable import AppName
class SomeTestClass: XCTestCase {
var viewController: AppName.ViewControllerName?
override func setUp() {
super.setUp()
viewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("someIdentifier") as? AppName.ViewControllerName // Line 7
_ = viewController?.view
}
override func tearDown() {
// Put teardown code here. This method is called after the invocation of each test method in the class.
super.tearDown()
}
func testIfCaseInteractionLabelIsNotNil() {
XCTAssertNotNil(viewController?.someLabel)
}
}
在上面的代码中,视图控制器对象的类型是“AppName.ViewControllerName”,如果我将其指定为如下所示的 ViewControllerName,则测试因第 7 行中的转换而失败
var viewController: ViewControllerName?
override func setUp() {
super.setUp()
viewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("someIdentifier") as? ViewControllerName // Line 7
_ = viewController?.view
}
我尝试将视图控制器类公开并在 swift2 中使用 @testable 注释。它不起作用。
我将“启用可测试性”构建设置设置为“是”。
即使我不使用 @testable 导入,代码也可以工作,但在许多博客和教程中,这会导致错误。
任何帮助,将不胜感激!提前致谢