测试已测试 | ✓ |
Lang语言 | SwiftSwift |
许可证 | Apache 2 |
发布上次发布 | 2015年1月 |
SPM支持 SPM | ✗ |
由 corinne krych 维护。
一个小型库,由 OHHTTPStubs 启发,用于使用 Swift 模拟您的网络请求。
此模块是测试版软件,目前支持 Xcode 6.1.1
// set up http stub
StubsManager.stubRequestsPassingTest({ (request: NSURLRequest!) -> Bool in
return true
}, withStubResponse:( { (request: NSURLRequest!) -> StubResponse in
return StubResponse(data:NSData.data(), statusCode: 200, headers: ["Content-Type" : "text/json"])
}))
// async test expectation
let registrationExpectation = expectationWithDescription("testStubWithNSURLSessionDefaultConfiguration");
let request = NSMutableURLRequest(URL: NSURL(string: "http://server.com"))
let config = NSURLSessionConfiguration.defaultSessionConfiguration()
let session = NSURLSession(configuration: config)
let task = session.dataTaskWithRequest(request) {(data, response, error) in
XCTAssertNil(error, "unexpected error")
XCTAssertNotNil(data, "response should contain data")
registrationExpectation.fulfill()
}
task.resume()
waitForExpectationsWithTimeout(10, handler: nil)
// set up http stub from a stubbed file located in the test bundle
StubsManager.stubRequestsPassingTest({ (request: NSURLRequest!) -> Bool in
return true
}, withStubResponse:( { (request: NSURLRequest!) -> StubResponse in
return StubResponse(filename: "mystubbedjson.json", location:.Bundle(NSBundle(forClass: AeroGearHttpStubTests.self)), statusCode: 200, headers: ["Content-Type" : "text/json"])
}))
// or
// set up http stub from a stubbed file located in the 'Documents' directory
StubsManager.stubRequestsPassingTest({ (request: NSURLRequest!) -> Bool in
return true
}, withStubResponse:( { (request: NSURLRequest!) -> StubResponse in
return StubResponse(filename: "mystubbedjson.json", location:.Documents, statusCode: 200, headers: ["Content-Type" : "text/json"])
}))
要添加此库到您的项目中,您可以使用 Cocoapods 或手动安装。请参阅下面的相应部分获取说明。
按照以下步骤将库添加到您的 Swift 项目中
git submodule add https://github.com/aerogear/aerogear-ios-httpstub.git
aerogear-ios-httpstub
文件夹,并将 AeroGearHttpStub.xcodeproj
拖放到 Xcode 文件导航器中。AeroGearHttpStub.framework
。AeroGearHttpStub.framework
。