---
title: "require(_:_:sourceLocation:)"
framework: testing
role: symbol
role_heading: Macro
path: "testing/require(_:_:sourcelocation:)-5l63q"
---

# require(_:_:sourceLocation:)

Check that an expectation has passed after a condition has been evaluated and throw an error if it failed.

## Declaration

```swift
@freestanding(expression) macro require(_ condition: Bool, _ comment: @autoclosure () -> Comment? = nil, sourceLocation: SourceLocation = #_sourceLocation)
```

## Parameters

- `condition`: The condition to be evaluated.
- `comment`: A comment describing the expectation.
- `sourceLocation`: The source location to which recorded expectations and issues should be attributed.

## Mentioned in

Migrating a test from XCTest Describing and reflecting values Testing for errors in Swift code

## Overview

Overview note: An instance of ExpectationFailedError if condition evaluates to false. If condition evaluates to false, an Issue is recorded for the test that is running in the current task and an instance of ExpectationFailedError is thrown.

## See Also

### Checking expectations

- [expect(_:_:sourceLocation:)](testing/expect(_:_:sourcelocation:).md)
- [require(_:_:sourceLocation:)](testing/require(_:_:sourcelocation:)-6w9oo.md)
