Moya: How to avoid error: Error Domain=NSURLErrorDomain Code=-999 "cancelled"

in provider test,

import Quick
import Nimble
import Alamofire
import RxSwift
import RxBlocking
import RxTest
import OHHTTPStubs

@testable import Moya
@testable import DSZHClientFramework

class DSZHApiServiceSpec: QuickSpec {
    override func spec() {
        describe("provider with Single") {
            var provider: MoyaProvider<DSZHApi>!
            
            beforeEach {
                provider = MoyaProvider<DSZHApi>(endpointClosure: endpointClosure, stubClosure: MoyaProvider.immediatelyStub)
            }
            
            it("emits a Response object") {
                var response: Response?
                
                let target: DSZHApi = .getForums
                response = try! provider.rx.request(target).toBlocking().single()
                expect(response).toNot(beNil())
            }
            
            it("returns stubbed data for get forums request") {
                var json: String?
                
                let target: DSZHApi = .getForums
                provider.request(target) { result in
                    if case let .success(response) = result {
                        json = String(data: response.data, encoding: .utf8)
                    }
                }
                
                let sampleData = target.sampleData
                expect(json).to(equal(String(data: sampleData, encoding: .utf8)))
            }
        }
    }
}

I always get error message in xcode output:

2019-04-04 16:18:37.906181+0800 xctest[89156:12465616] Task <CD73025B-02D6-4262-BA85-BCDD84108C79>.<1> load failed with error Error Domain=NSURLErrorDomain Code=-999 “cancelled”

but test case is passed

How to fix it?

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 16 (4 by maintainers)

Most upvoted comments

Alright, the PR is in. This fixed our test suite from random logs so it looks fine. Should be releasing a version 13.0.1 when it’s merged.