ErrorAssertions 0.4.0

ErrorAssertions 0.4.0

Jeff Kelley 维护。



ErrorAssertions

tests Documentation Version Swift Package Manager

Swift 断言的包装器,使用 Error 实例而不是 String,并提供一系列测试函数来测试这些断言。

入门指南

要使用 ErrorAssertions,只需将它在您的 Swift 源文件顶部导入

import ErrorAssertions

只需这样做,因为 Swift 编译器会优先考虑已导入的模块而不是主 Swift 模块,您就会得到类似 fatalError(_:file:line:) 的函数的 ErrorAssertion 版本。

使用 Error 类型

要使用 Error 而不是 String 来调用断言方法,请使用错误版本

import ErrorAssertions

doSomething(completionHandler: { error in
    if let error = error {
        fatalError(error)
    }
})

您可以使用 Error 类型与 fatalError()assert()assertionFailure()precondition()preconditionFailure() 一起使用。

测试断言

在您的测试中,导入 ErrorAssertionExpectations 模块以测试您的应用程序中做出的断言(只要您已导入 ErrorAssertions)。在您的测试用例中,使用期望方法

func testThatAnErrorHappens() {
    expectFatalError {
        doAThingThatProducesAFatalError()
    }
}

也有一些版本是使用 ErrorString 并验证产生的错误是否符合预期

func testThatASpecificErrorHappens() {
    expectFatalError(expectedError: URLError.badURL) {
        loadURL("thisisnotaurl")
    }
}

安装

Swift 包管理器

Swift 包管理器是安装 ErrorAssertions 的首选方式。将仓库作为依赖项添加

dependencies: [
    .package(url: "https://github.com/SlaunchaMan/ErrorAssertions.git",
             from: "0.2.0")
]

在您的目标中,将 ErrorAssertions 添加为主目标的依赖项,如果您正在使用测试支持,请将 ErrorAssertionExpectations 添加到测试目标

targets: [
    .target(name: "App", dependencies: ["ErrorAssertions")]
    .testTarget(name: "AppTests", dependencies: ["ErrorAssertionExpectations"])
]

CocoaPods

要使用 CocoaPods 与 ErrorAssertions,将主 pod 作为您的应用程序的依赖项,并在测试中将 ErrorAssertionExpectations pod 添加为依赖项

target 'App' do
    pod 'ErrorAssertions'
end

target 'AppTests' do
    pod 'ErrorAssertionExpectatoins'
end