AliSoftware / AliSoftware/OHHTTPStubs
Stub not working for shared configuration
- Langage dominant
- Objective-C
- Étoiles
- 5.1k
- Forks
- 597
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
### New Issue Checklist
- [x] I have tried with the latest version of OHHTTPStubs
- [x] I have read the [README](https://github.com/AliSoftware/OHHTTPStubs/blob/master/README.md)
- [x] I have read the [Using the right Swift Version of `OHHTTPStubs` for your project](https://github.com/AliSoftware/OHHTTPStubs#using-the-right-swift-version-of-ohhttpstubs-for-your-project) section
- [x] I have searched in the [existing issues](https://github.com/AliSoftware/OHHTTPStubs/issues?utf8=✓&q=is%3Aissue)
- [x] I have read [the OHHTTPStubs wiki](https://github.com/AliSoftware/OHHTTPStubs/wiki) to see if there wasn't a detailed page talking about my issue
### Environment
- version of OHHTTPStubs: [LIB VERSION HERE]
- integration method you are using:
* [x] Cocoapods
* [ ] Carthage
* [ ] submodule
* [ ] other
- version of the tool you use: 6.1.0
### Issue Description
OHHTTPStubs does not intercept custom URLSessions. When using `URLSession.shared.dataTask` everything is working as expected. However when creating an own instance or URLSession the stub does not work anymore.
```
func testExample() {
let expectation = self.expectation(description: "")
stub(condition: isMethodGET()) { _ in
return OHHTTPStubsResponse(
jsonObject: [],
statusCode: 333,
headers: [ "Content-Type": "application/json" ]
)
}
// intercepted by OHHTTPStubs
URLSession.shared.dataTask(with: URL(string: "https://www.google.com/")!) { (data, response, error) in
print((response as! HTTPURLResponse).statusCode) // returns 333 as expected
}.resume()
// not intercepted by OHHTTPStubs
let session = URLSession(configuration: URLSession.shared.configuration)
session.dataTask(with: URL(string: "https://www.google.com/")!) { (data, response, error) in
print((response as! HTTPURLResponse).statusCode) // returns 200
}.resume()
waitForExpectations(timeout: 3)
}
```
**Update**
It is working with
```
let session = URLSession(configuration: URLSessionConfiguration.default)
session.dataTask(with: URL(string: "https://www.google.com/")!) { (data, response, error) in
print((response as! HTTPURLResponse).statusCode) // returns 333
}.resume()
```
Shouldn't `let session = URLSession(configuration: URLSessionConfiguration.default)` and `let session = URLSession(configuration: URLSession.shared.configuration)` behave the same way?
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Évaluation
Cette issue n'a pas encore été évaluée.