docs/Protocols/AsyncDSLUser.html
public protocol AsyncDSLUser
A protocol for defining the synchronous DSL usable from Quick synchronous specs.
`
beforeSuite(_:)
` Extension method
Defines a closure to be run prior to any examples in the test suite. You may define an unlimited number of these closures, but there is no guarantee as to the order in which they’re run.
If the test suite crashes before the first example is run, this closure will not be executed.
beforeSuite intentionally does not allow async methods to be called. This is to ensure that in a mixed synchronous & asynchronous environment, beforeSuite hooks are truly called before any tests in the the suite run.
Swift
public static func beforeSuite(_ closure: @escaping BeforeSuiteClosure)
| closure |
The closure to be run prior to any examples in the test suite.
|
`
afterSuite(_:)
` Extension method
Defines a closure to be run after all of the examples in the test suite. You may define an unlimited number of these closures, but there is no guarantee as to the order in which they’re run.
If the test suite crashes before all examples are run, this closure will not be executed.
afterSuite intentionally does not allow async methods to be called. This is to ensure that in a mixed synchronous & asynchronous environment, beforeSuite hooks are truly called after all tests in the the suite have run.
Swift
public static func afterSuite(_ closure: @escaping AfterSuiteClosure)
| closure |
The closure to be run after all of the examples in the test suite.
|
`
describe(_:closure:)
` Extension method
Defines an example group. Example groups are logical groupings of examples. Example groups can share setup and teardown code.
Swift
public static func describe(_ description: String, closure: () -> Void)
| description |
An arbitrary string describing the example group.
|
| closure |
A closure that can contain other examples.
|
`
context(_:closure:)
` Extension method
Defines an example group. Equivalent to describe.
Swift
public static func context(_ description: String, closure: () -> Void)
`
beforeEach(_:)
` Extension method
Defines a closure to be run prior to each example in the current example group. This closure is not run for pending or otherwise disabled examples. An example group may contain an unlimited number of beforeEach. They’ll be run in the order they’re defined, but you shouldn’t rely on that behavior.
Swift
public static func beforeEach(_ closure: @escaping BeforeExampleAsyncClosure)
| closure |
The closure to be run prior to each example.
|
`
beforeEach(_:)
` Extension method
Identical to Quick.DSL.beforeEach, except the closure is provided with metadata on the example that the closure is being run prior to.
Swift
public static func beforeEach(_ closure: @escaping BeforeExampleWithMetadataAsyncClosure)
`
afterEach(_:)
` Extension method
Defines a closure to be run after each example in the current example group. This closure is not run for pending or otherwise disabled examples. An example group may contain an unlimited number of afterEach. They’ll be run in the order they’re defined, but you shouldn’t rely on that behavior.
Swift
public static func afterEach(_ closure: @escaping AfterExampleAsyncClosure)
| closure |
The closure to be run after each example.
|
`
afterEach(_:)
` Extension method
Identical to Quick.DSL.afterEach, except the closure is provided with metadata on the example that the closure is being run after.
Swift
public static func afterEach(_ closure: @escaping AfterExampleWithMetadataAsyncClosure)
`
aroundEach(_:)
` Extension method
Defines a closure to that wraps each example in the current example group. This closure is not run for pending or otherwise disabled examples.
The closure you pass to aroundEach receives a callback as its argument, which it MUST call exactly one for the example to run properly:
aroundEach { runExample in doSomeSetup() runExample() doSomeCleanup() }
This callback is particularly useful for test decartions that can’t split into a separate beforeEach and afterEach. For example, running each example in its own autorelease pool (provided by Task) requires aroundEach:
aroundEach { runExample in autoreleasepool { runExample() } checkObjectsNoLongerRetained() }
You can also use aroundEach to guarantee proper nesting of setup and cleanup operations in situations where their relative order matters.
An example group may contain an unlimited number of aroundEach callbacks. They will nest inside each other, with the first declared in the group nested at the outermost level.
Swift
public static func aroundEach(_ closure: @escaping AroundExampleAsyncClosure)
| closure |
The closure that wraps around each example.
|
`
aroundEach(_:)
` Extension method
Identical to Quick.DSL.aroundEach, except the closure receives metadata about the example that the closure wraps.
Swift
public static func aroundEach(_ closure: @escaping AroundExampleWithMetadataAsyncClosure)
`
justBeforeEach(_:)
` Extension method
Defines a closure to be run prior to each example but after any beforeEach blocks. This closure is not run for pending or otherwise disabled examples. An example group may contain an unlimited number of justBeforeEach. They’ll be run in the order they’re defined, but you shouldn’t rely on that behavior.
Swift
public static func justBeforeEach(_ closure: @escaping BeforeExampleAsyncClosure)
| closure |
The closure to be run prior to each example and after any beforeEach blocks
|
`
it(_:file:line:closure:)
` Extension method
Defines an example. Examples use assertions to demonstrate how code should behave. These are like “tests” in XCTest.
Swift
public static func it(_ description: String, file: FileString = #file, line: UInt = #line, closure: @escaping () async throws -> Void)
| description |
An arbitrary string describing what the example is meant to specify.
|
| closure |
A closure that can contain assertions.
|
| file |
The absolute path to the file containing the example. A sensible default is provided.
|
| line |
The line containing the example. A sensible default is provided.
|
`
itBehavesLike(_:file:line:context:)
` Extension method
Inserts the examples defined using a AsyncBehavior into the current example group. The shared examples are executed at this location, as if they were written out manually. This function also passes a strongly-typed context that can be evaluated to give the shared examples extra information on the subject of the example.
Swift
public static func itBehavesLike<C>(_ behavior: AsyncBehavior<C>.Type, file: FileString = #file, line: UInt = #line, context: @escaping () -> C)
| behavior |
The type of AsyncBehavior class defining the example group to be executed.
|
| context |
A closure that, when evaluated, returns an instance of Behavior‘s context type to provide its example group with extra information on the subject of the example.
|
| file |
The absolute path to the file containing the current example group. A sensible default is provided.
|
| line |
The line containing the current example group. A sensible default is provided.
|
`
pending(_:file:line:closure:)
` Extension method
Defines an example or example group that should not be executed. Use pending to temporarily disable examples or groups that should not be run yet.
Swift
public static func pending(_ description: String, file: FileString = #file, line: UInt = #line, closure: @escaping () async throws -> Void)
| description |
An arbitrary string describing the example or example group.
|
| closure |
A closure that will not be evaluated.
|
`
xdescribe(_:closure:)
` Extension method
Use this to quickly mark a describe closure as pending. This disables all examples within the closure.
Swift
public static func xdescribe(_ description: String, closure: () -> Void)
`
xcontext(_:closure:)
` Extension method
Use this to quickly mark a context closure as pending. This disables all examples within the closure.
Swift
public static func xcontext(_ description: String, closure: () -> Void)
`
xit(_:file:line:closure:)
` Extension method
Use this to quickly mark an it closure as pending. This disables the example and ensures the code within the closure is never run.
Swift
public static func xit(_ description: String, file: FileString = #file, line: UInt = #line, closure: @escaping () async throws -> Void)
`
xitBehavesLike(_:file:line:context:)
` Extension method
Use this to quickly mark an itBehavesLike closure as pending. This disables the example group defined by this behavior and ensures the code within is never run.
Swift
public static func xitBehavesLike<C>(_ behavior: AsyncBehavior<C>.Type, file: FileString = #file, line: UInt = #line, context: @escaping () -> C)
`
fdescribe(_:closure:)
` Extension method
Use this to quickly focus a describe closure, focusing the examples in the closure. If any examples in the test suite are focused, only those examples are executed. This trumps any explicitly focused or unfocused examples within the closure–they are all treated as focused.
Swift
public static func fdescribe(_ description: String, closure: () -> Void)
`
fcontext(_:closure:)
` Extension method
Use this to quickly focus a context closure. Equivalent to fdescribe.
Swift
public static func fcontext(_ description: String, closure: () -> Void)
`
fit(_:file:line:closure:)
` Extension method
Use this to quickly focus an it closure, focusing the example. If any examples in the test suite are focused, only those examples are executed.
Swift
public static func fit(_ description: String, file: FileString = #file, line: UInt = #line, closure: @escaping () async throws -> Void)
`
fitBehavesLike(_:file:line:context:)
` Extension method
Use this to quickly focus on itBehavesLike closure.
Swift
public static func fitBehavesLike<C>(_ behavior: AsyncBehavior<C>.Type, file: FileString = #file, line: UInt = #line, context: @escaping () -> C)
© 2025 Quick Contributors. All rights reserved. (Last updated: 2025-06-26)
Generated by jazzy ♪♫ v0.15.3, a Realm project.