                 if #available(iOS 10.0, tvOS 10.0, macOS 10.12, *) {
                     dispatchPrecondition(condition: .onQueue(customQueue))
                 }
-                
-                completionExpectation.fulfill()
+
+                DispatchQueue.main.async {
+                    completionExpectation.fulfill()
+                }
         })
         waitForExpectations(timeout: 5, handler: nil)
     }

                if #available(iOS 10.0, tvOS 10.0, macOS 10.12, *) {
                    dispatchPrecondition(condition: .onQueue(customQueue))
                }
                expectation.fulfill()
        })
        waitForExpectations(timeout: 5, handler: nil)
    }
    
    func testDefaultOptionCouldApply() {
        let expectation = self.expectation(description: "running on custom queue")
        let URLString = testKeys[0]
        _ = stubRequest("GET", URLString).andReturn(200)?.withBody(testImageData)
        

        })
        waitForExpectations(timeout: 5, handler: nil)
    }

    func testSucessCompletionHandlerRunningOnCustomQueue() {
        let progressExpectation = expectation(description: "progressBlock running on custom queue")
        let completionExpectation = expectation(description: "completionHandler running on custom queue")
