BDTests 0.0.13

BDTests 0.0.13

测试已测试
Lang语言 SwiftSwift
许可证 MIT
Released上次发布2018年1月
SwiftSwift 版本3.0
SPM支持 SPM

Derek Bronston 维护。



 
依赖
OHHTTPStubs>= 0
OHHTTPStubs/Swift>= 0
 

BDTests 0.0.13

  • By
  • bytedissident

BDTests

示例

要运行示例项目,首先从仓库克隆,然后在 Example 目录中首先运行 pod install

需求

安装

BDTests 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中

pod "BDTests"

这是为了什么?

这是一个框架,旨在简化在 Swift 编写的 iOS 项目的 UITests 时对网络请求的模拟。BDTests 处理的第二件事是为您尝试执行的 UITest 设置应用程序的界面。例如,如果您的应用程序需要登录或者需要应用程序处于某种状态。BDTests 提供了一种简单的方式来设置测试系统所在的状态。

设置

在您的 AppDelegate 中需要导入 BDtests 并将 testEnv 方法添加到 AppDelegate 中。

import BDTests
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        
        //CHECK AND SET UP TESTS 
        _ = BDTestsEnv().testEnv()

        return true
}

网络测试

创建 BDTests 实例

let test = BDTests(enviornment:nil)

如果初始化器中传递 nil,BDTests 将使用默认名称 (String) 作为环境名称。这通常是可以的。接下来创建一个测试

test.createTest(jsonString:nil, jsonFile:"stub-file",httpCode:200)

createTest 接受一个 JSON 字符串或需要存储在应用程序主束中的文件名称。在此任一情况下,这将是在您创建测试时用作应用程序调用服务器响应的 JSON。最后提供您希望测试的 HTTP 响应代码。

此测试将拦截应用程序向服务器发出的调用,并返回您在创建测试时使用的 JSON 负载数据。

如何模拟多个请求

在您想执行多个请求的情况下,可以创建第二个测试,具有不同的环境名称。

//TEST 1
let sut = BDTests(enviornment:nil)
let test = sut.createTest(jsonString: "{\"key\":\"value\"}" , jsonFile: nil, httpCode: 400)

//TEST 2
sut.enviornmentName = "test-2
let test2 = sut.createTest(jsonString: "{\"key2\":\"value2\"}" , jsonFile: nil, httpCode: 200)

设置您的应用测试状态

如果您想在运行测试之前进行一些设置,这些设置与网络无关,例如将数据库用特定数据初始化,请按照以下步骤操作:

  1. 在您应用的代码中创建BDTestsHelper的扩展,并添加一个方法来执行所需的任何设置。
import BDTests 

extension BDTestsHelper {

    func setUpMethod(){

        //DO SOME SET UP HERE

    }
}
  1. 在测试代码中调用seedDatabase方法,并将您想要调用的方法的名称作为字符串值传递。
let seeded =  sut.seedDatabase(ref: "setUpMethod")

作者

bytedissident,[email protected]

许可

BDTests许可下提供MIT协议。有关更多信息,请参阅LICENSE文件。