stubる - mockingjayを使ったhttpクライアントのテスト -

16

Upload: kenji-tanaka

Post on 23-Jan-2018

1.031 views

Category:

Technology


1 download

TRANSCRIPT

📦

📦

import Alamofire import Mockingjay import Quick import Nimble @testable import Hoge

class HogeSpec: QuickSpec { override func spec() { describe("hoge") { context("fuga") { it("piyo") { } } } } }

context("fuga") { beforeEach { self.stub({ request in return request.url?.host == "hogefugapiyo.com" }, { request in let response = HTTPURLResponse( url: request.url!, statusCode: 200, httpVersion: nil, headerFields: nil) let path = Bundle(for: type(of: self)) .path(forResource: "piyo", ofType: "json")! let url = URL(fileURLWithPath: path) let data = try! Data(contentsOf: url) return .success(response!, .content(data)) }) } }

it("piyo") { let request = Alamofire.request("https://hogefugapiyo.com") var expectation: Any? = nil waitUntil { done in request.responseJSON { response in switch response.result { case .success(let json): expectation = json print("success: \(json)") case .failure(let error): print("failure: \(error)") } expect(expectation).toNot(beNil()) done() } } }