---
title: XCTWaiterDelegate
framework: xctest
role: symbol
role_heading: Protocol
path: xctest/xctwaiterdelegate
---

# XCTWaiterDelegate

Defines methods that are called when XCTWaiter expectations are fulfilled correctly or incorrectly.

## Declaration

```swift
protocol XCTWaiterDelegate : NSObjectProtocol
```

## Overview

Overview XCTestCase instances automatically conform to the XCTWaiterDelegate protocol. If you pass a test case instance as the delegate property of XCTWaiter’s init(delegate:) initializer, that test case will automatically report timeouts and other unexpected events as test failures.

## Topics

### Timeout Events

- [waiter(_:didTimeoutWithUnfulfilledExpectations:)](xctest/xctwaiterdelegate/waiter(_:didtimeoutwithunfulfilledexpectations:).md)
- [nestedWaiter(_:wasInterruptedByTimedOutWaiter:)](xctest/xctwaiterdelegate/nestedwaiter(_:wasinterruptedbytimedoutwaiter:).md)

### Order of Fulfillment Events

- [waiter(_:fulfillmentDidViolateOrderingConstraintsFor:requiredExpectation:)](xctest/xctwaiterdelegate/waiter(_:fulfillmentdidviolateorderingconstraintsfor:requiredexpectation:).md)

### Inverted Expectation Events

- [waiter(_:didFulfillInvertedExpectation:)](xctest/xctwaiterdelegate/waiter(_:didfulfillinvertedexpectation:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

### Conforming Types

- [XCTestCase](xctest/xctestcase.md)

## See Also

### Responding to Expectation Fulfilment

- [delegate](xctest/xctwaiter/delegate.md)
- [fulfilledExpectations](xctest/xctwaiter/fulfilledexpectations.md)
