我正在尝试对一个在 viewController 之外呈现视图的函数进行单元测试:
public func presentInOwnWindow(animated: Bool, completion: (() -> Void)?) {
let alertWindow = UIWindow(frame: UIScreen.main.bounds)
alertWindow.rootViewController = UIViewController()
alertWindow.windowLevel = UIWindowLevelAlert + 1;
alertWindow.makeKeyAndVisible()
alertWindow.rootViewController?.present(self, animated: animated, completion: completion)
}
到目前为止,我所能想到的如何对它进行单元测试是这样的:
func test_presentInOwnWindow () {
let presented = sut.presentInOwnWindow(animated: true) {}
XCTAssertNotNil(presented)
}
我尝试为完成块传递一个布尔值:
完成:((布尔)-> 无效)
但由于它调用完成:
rootViewController?.present
我得到错误:
无法转换类型“((Bool)-> Void)的值?” 到预期的参数类型'(() - > Void)?
知道如何正确地对功能进行单元测试吗?