简体   繁体   English

如何使用Swift单元测试NSFetchedResultsControllerDelegate(controllerWillChangeContent和controllerDidChangeContent)

[英]How do I unit test NSFetchedResultsControllerDelegate (controllerWillChangeContent and controllerDidChangeContent) using Swift

I have the following delegate and I need to test that tableView.beginUpdates() got called. 我有以下委托,我需要测试是否调用了tableView.beginUpdates()。 I'm using XCTest and Swift 3. Do you have any ideas or sample code? 我正在使用XCTest和Swift3。您有任何想法或示例代码吗?

extension SomeListController: NSFetchedResultsControllerDelegate {



func controllerWillChangeContent(_ controller: NSFetchedResultsController<NSFetchRequestResult>) {

    tableView.beginUpdates()

}



func controllerDidChangeContent(_ controller: NSFetchedResultsController<NSFetchRequestResult>) {

    tableView.endUpdates()

}

} }

I actually figured it out eventually. 最终我实际上找到了答案。 The endsUpdates test is pretty much the same pattern. endsUpdates测试几乎是相同的模式。

func test_controllerWillChangeContent_beginsUpdates() {

    class MockTableView: UITableView {

        var gotCalled: Bool = false
        override func beginUpdates() {
            gotCalled = true
        }

    }

    let tableView: MockTableView = MockTableView()
    controller.tableView = tableView

    let _ = controller.view

    controller.controllerWillChangeContent(controller.fetchedResultsControler as! NSFetchedResultsController<NSFetchRequestResult>)

    XCTAssertTrue(tableView.gotCalled)

}

暂无
暂无

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

相关问题 如何对NSFetchedResultsControllerDelegate进行单元测试? - How to unit test NSFetchedResultsControllerDelegate? 无法覆盖NSFetchedResultsControllerDelegate中的controllerDidChangeContent - Cant override controllerDidChangeContent in NSFetchedResultsControllerDelegate NSFetchedResultsControllerDelegate:controllerDidChangeContent在iOS 8中不起作用 - NSFetchedResultsControllerDelegate : controllerDidChangeContent not working in iOS 8 如何处理自定义结果视图的NSFetchedResultsControllerDelegate更新 - How do I Handle NSFetchedResultsControllerDelegate updates for custom results view 如何从Swift单元测试中访问测试目标中存在的Objective-C代码? - How do I access Objective-C code that exists in the test target, from a Swift unit test? Swift单元测试 - 如何断言CGColor是它应该是什么? - Swift Unit test- How do I assert that a CGColor is what it's supposed to be? 如何对openWithCompletionHandler进行单元测试 - How do I unit test openWithCompletionHandler 如何在多个ViewController中使用NSFetchedResultsControllerDelegate而不重复控制器代码? - How do I use NSFetchedResultsControllerDelegate in multiple ViewController without repeating the controller code? 如何使用 `swift test` 对 iOS package 进行单元测试? - How to unit test iOS package with `swift test`? 如何在iOS 7.1中使用NSURLSession对HTTP请求和响应进行单元测试? - How do I unit test HTTP request and response using NSURLSession in iOS 7.1?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM