Thanks for being a part of WWDC25!

How did we do? We’d love to know your thoughts on this year’s conference. Take the survey here

Writing unit tests for AppIntent with a @AppDependency declared

I am trying to write a unit test for an AppIntent and override the AppDependencyManager so I can inject dependencies for the purposes of testing. When I run a test, the app crashes with:

AppIntents/AppDependencyManager.swift:120: Fatal error: AppDependency  of type Int.Type was not initialized prior to access. Dependency values can only be accessed inside of the intent perform flow and within types conforming to _SupportsAppDependencies unless the value of the dependency is manually set prior to access.

App Intent:

import AppIntents

struct TestAppIntent: AppIntent {
  @AppDependency var count: Int
  
  static var title: LocalizedStringResource { "Test App Intent "}
    
  func perform() async throws -> some IntentResult {
    print("\(count)")
    
    return .result()
  }
}

extension TestAppIntent {
  init(dependencyManager: AppDependencyManager) {
    _count = AppDependency(manager: dependencyManager)
  }
}

Unit Test

import Testing
import AppIntents
@testable import AppIntentTesting

struct TestAppIntentTests {
  @Test("test")
  func test() async throws {
    let dependencyManager = AppDependencyManager()
    dependencyManager.add(dependency: 5)
    
    let appIntent = TestAppIntent(dependencyManager: dependencyManager)
    _ = try await appIntent.perform()
  }
}
Writing unit tests for AppIntent with a @AppDependency declared
 
 
Q