<!--
{
  "availability" : [
    "Mac Catalyst: 27.0.0 -",
    "iOS: 27.0.0 -",
    "iPadOS: 27.0.0 -",
    "macOS: 27.0.0 -",
    "tvOS: 27.0.0 -",
    "visionOS: 27.0.0 -",
    "watchOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AppIntentsTesting",
  "identifier" : "/documentation/AppIntentsTesting",
  "metadataVersion" : "0.1.0",
  "role" : "Framework",
  "symbol" : {
    "kind" : "Framework",
    "modules" : [
      "App Intents Testing"
    ],
    "preciseIdentifier" : "AppIntentsTesting"
  },
  "title" : "App Intents Testing"
}
-->

# App Intents Testing

Test your app intents, entities, queries, and integration with system features like Siri or Spotlight.

## Overview

The <doc://com.apple.documentation/documentation/AppIntents> framework allows you to integrate your app with system features like Siri, Shortcuts, or Spotlight. Use App Intents Testing to run and test your app intents, entities, enums, and query logic out-of-process — the same way Siri or Shortcuts perform them. Additionally, with App Intents Testing you can create tests
that verify your app’s integration with system features like Siri or Spotlight. The framework provides type-erased APIs that let you reference intents by name, set their parameters, and run them without linking against your app target.

## Topics

### Essentials

[Testing your App Intents code](/documentation/AppIntentsTesting/testing-your-app-intents-code)

Evaluate intents, entities, and queries, and verify your integration with system features like Spotlight and Siri.

### Intents, entities, enums, and queries

[`IntentDefinitions`](/documentation/AppIntentsTesting/IntentDefinitions)

A collection of definitions that catalog your app’s intents, enums, entities, and queries.

### Intent and query result verification

[`ResolvedIntentResult`](/documentation/AppIntentsTesting/ResolvedIntentResult)

A type-safe result from performing an app intent.

[`ResolvedValueQueryResult`](/documentation/AppIntentsTesting/ResolvedValueQueryResult)

The result of an intent value query.

### Entity annotation testing

[`ViewAnnotation`](/documentation/AppIntentsTesting/ViewAnnotation)

The onscreen context you provide to the system by annotating a view with an app entity.

### Intermediate types

[`AnyAppIntent`](/documentation/AppIntentsTesting/AnyAppIntent)

A type-erased, intermediate representation of an app intent for testing purposes.

[`AnyAppEntity`](/documentation/AppIntentsTesting/AnyAppEntity)

A type-erased, intermediate representation of your app entity for testing purposes.

[`AnyEntityQuery`](/documentation/AppIntentsTesting/AnyEntityQuery)

A type-erased, intermediate representation of your entity query for testing purposes.

[`AnyAppEnum`](/documentation/AppIntentsTesting/AnyAppEnum)

A type-erased representation of an app enumeration that provides dynamic enumeration value access.

[`AnyTransientAppEntity`](/documentation/AppIntentsTesting/AnyTransientAppEntity)

A type-erased representation of a transient app entity that provides dynamic property access.

### Supporting types

[`AppIntentTypeDefinition`](/documentation/AppIntentsTesting/AppIntentTypeDefinition)

A protocol that associates a definition type with its corresponding instance type.

[`DynamicPropertyPath`](/documentation/AppIntentsTesting/DynamicPropertyPath)

A type-safe, dynamic path to access nested intent values.

[`DynamicPropertyPathCollection`](/documentation/AppIntentsTesting/DynamicPropertyPathCollection)

Indexed result items from an intent value query.

[`IntentValuePropertiesCallable`](/documentation/AppIntentsTesting/IntentValuePropertiesCallable)

A callable wrapper that creates app intent instances from keyword arguments.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)