我有一个UIViewController
实现一些WKNavigationDelegate
功能的,我想对这些功能中的逻辑进行单元测试。这是一个例子:
func webView(_ webView: WKWebView,
decidePolicyFor navigationAction: WKNavigationAction,
decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
guard let url = navigationAction.request.url else {
decisionHandler(.cancel)
return
}
if url.absoluteString != "https://my-approved-url" {
decisionHandler(.cancel)
return
}
decisionHandler(.allow)
}
decisionHandler
我希望我的单元测试确保WKNavigationActionPolicy
基于request.url
.WKNavigationAction
但是,我不知道如何测试此功能。当我运行我的测试项目时,调用.load()
webview 不会触发委托函数。我也尝试过直接调用这个函数来测试它,但似乎无法实例化WKNavigationAction
我自己的新函数(.request 是只读的)。
在函数中单元测试逻辑的正确方法是什么WKNavigationDelegate
?