繁体   English   中英

如何在 UIWebView/WebKit 中编写单元测试用例 (XCTest) - Swift

[英]How to write unit test cases (XCTest) in UIWebView / WebKit - Swift

我想在 UIWebView/Webkit-Swift 中编写单元测试用例 (XCTest) 请发布任何有用的链接、示例或教程。

谢谢你。 什里拉姆

一个好方法是创建假导航操作来手动调用委托。

在这个问题中,你有一个很好的例子来编写这种方式的测试用例。 单元测试-wknavigationdelegate-functions

在导航中测试加载的示例:

// setup
let fakeNavigation = WKNavigation()

delegateObject.refresh() // Set loading to true and init the web view
XCTAssertTrue(delegateObject.loading)

delegateObject.webView(webView, didFinish: fakeNavigation)
XCTAssertFalse(delegateObject.loading)

测试策略的示例:

class FakeNavigationAction: WKNavigationAction {
    let testRequest: URLRequest
    override var request: URLRequest {
        return testRequest
    }

    init(testRequest: URLRequest) {
        self.testRequest = testRequest
        super.init()
    }
}

// setup
var receivedPolicy: WKNavigationActionPolicy?
let fakeAction = FakeNavigationAction(testRequest: ...)

// act
delegateObject.webView(webView, decidePolicyFor: fakeAction, decisionHandler: { 
    receivedPolicy = $0 
})


XCTAssertEqual(receivedPolicy, theExpectedValue)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM