Wrappers for Swift assertions that take Error instances instead of Strings,
and a suite of test functions to test these assertions.
Getting Started
To use ErrorAssertions, simply import it at the top of your Swift source file:
import ErrorAssertions
Just by doing this, since the Swift compiler will prefer imported modules to the
main Swift module, you’ll get the ErrorAssertion versions of functions like
fatalError(_:file:line:).
Using Error Types
To use an Error instead of a String when calling an assertion method, use
the error version:
import ErrorAssertions
doSomething(completionHandler: { error in
if let error = error {
fatalError(error)
}
})
You can use Error types with fatalError(), assert(), assertionFailure(),
precondition(), and preconditionFailure().
Testing Assertions
In your tests, import the ErrorAssertionExpectations module to test assertions
made in your app (as long as you’ve imported ErrorAssertions). In your test
cases, use the expectation methods:
In your targets, add ErrorAssertions as a dependency of your main target and,
if you’re using the test support, add ErrorAssertionExpectations to the test
target:
ErrorAssertions
Wrappers for Swift assertions that take
Error
instances instead ofString
s, and a suite of test functions to test these assertions.Getting Started
To use ErrorAssertions, simply import it at the top of your Swift source file:
Just by doing this, since the Swift compiler will prefer imported modules to the main Swift module, you’ll get the ErrorAssertion versions of functions like
fatalError(_:file:line:)
.Using
Error
TypesTo use an
Error
instead of aString
when calling an assertion method, use the error version:You can use
Error
types withfatalError()
,assert()
,assertionFailure()
,precondition()
, andpreconditionFailure()
.Testing Assertions
In your tests, import the
ErrorAssertionExpectations
module to test assertions made in your app (as long as you’ve importedErrorAssertions
). In your test cases, use the expectation methods:There are also versions that take an
Error
orString
and validate that the produced error is the one you’re expecting:Installation
Swift Package Manager
Swift Package Manager is the preferred way to install ErrorAssertions. Add the repository as a dependency:
In your targets, add
ErrorAssertions
as a dependency of your main target and, if you’re using the test support, addErrorAssertionExpectations
to the test target:CocoaPods
To use ErrorAssertions with CocoaPods, use the main pod as a dependency in your app and the ErrorAssertionExpectations pod in your tests: