测试已测试 | ✗ |
Lang语言 | SwiftSwift |
许可证 | MIT |
Released上次发布 | 2018年1月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 Derek Bronston 维护。
依赖 | |
OHHTTPStubs | >= 0 |
OHHTTPStubs/Swift | >= 0 |
要运行示例项目,首先从仓库克隆,然后在 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)
如果您想在运行测试之前进行一些设置,这些设置与网络无关,例如将数据库用特定数据初始化,请按照以下步骤操作:
import BDTests
extension BDTestsHelper {
func setUpMethod(){
//DO SOME SET UP HERE
}
}
let seeded = sut.seedDatabase(ref: "setUpMethod")
bytedissident,[email protected]
BDTests许可下提供MIT协议。有关更多信息,请参阅LICENSE文件。