如何在 UIWebView / WebKit 中编写单元测试用例 (XCTest) - Swift
How to write unit test cases (XCTest) in UIWebView / WebKit - Swift
我想在 UIWebView/Webkit 中编写单元测试用例 (XCTest)- Swift
请 post 任何有用的 link、示例或教程。
谢谢。
施里拉姆
一个好方法是创建假的导航操作来手动调用委托。
在这个问题中,您有一个很好的例子可以用这种方式编写测试用例。
在导航中测试加载的示例:
// 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 = [=12=]
})
XCTAssertEqual(receivedPolicy, theExpectedValue)
我想在 UIWebView/Webkit 中编写单元测试用例 (XCTest)- Swift 请 post 任何有用的 link、示例或教程。
谢谢。 施里拉姆
一个好方法是创建假的导航操作来手动调用委托。
在这个问题中,您有一个很好的例子可以用这种方式编写测试用例。
在导航中测试加载的示例:
// 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 = [=12=]
})
XCTAssertEqual(receivedPolicy, theExpectedValue)