AeroGearHttpStub 0.2.0

AeroGearHttpStub 0.2.0

测试已测试
Lang语言 SwiftSwift
许可证 Apache 2
发布上次发布2015年1月
SPM支持 SPM

corinne krych 维护。



  • Red Hat, Inc.

aerogear-ios-httpstub Build Status

一个小型库,由 OHHTTPStubs 启发,用于使用 Swift 模拟您的网络请求。

此模块是测试版软件,目前支持 Xcode 6.1.1

示例用法

从 NSData 初始化

// 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)

从位于 Bundle 或 Documents 目录中的文件初始化

// 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 项目中

  1. 将 AeroGearHttpStub 作为 子模块 添加到您的项目中。打开终端并导航到您的项目目录,然后输入
git submodule add https://github.com/aerogear/aerogear-ios-httpstub.git
  1. 打开 aerogear-ios-httpstub 文件夹,并将 AeroGearHttpStub.xcodeproj 拖放到 Xcode 文件导航器中。
  2. 在 Xcode 中选择您的应用目标,然后在“目标”部分下,确保“iOS 部署目标”与 AeroGearHttpStub.framework 的应用目标相匹配(目前设置为 8.0)。
  3. 选择“构建阶段”部分,展开“目标依赖项”组,并添加 AeroGearHttpStub.framework
  4. 在面板左上角单击加号按钮,选择“新复制文件阶段”,将新阶段重命名为“复制框架”,并将“目标”设置为“框架”,然后添加 AeroGearHttpStub.framework

如果您遇到任何问题,请提交问题 和/或联系我们的 用户邮件列表。您也可以加入我们的 开发邮件列表