How to run swift-testing in an app test target?

The docc shows how we can run swift-testing in SPM by using XCTestScaffold.runAllTests.

But it's not clear how to run the tests for an app test target from Xcode.

The code that I am trying:

@testable import Testing

struct MyTests {
	@Test("Adding two numbers")
	func checkIfAddIsValid() {
		let firstNumber = 1
		let secondNumber = 2
		let result = firstNumber + secondNumber
		let expectedResult = 3

		#expect(result == expectedResult)
	}
}

Tried this in the terminal:
xcodebuild test -scheme SwiftTestingSampleTests -destination 'platform=iOS Simulator,name=iPhone 12'

Error:

note: Run script build phase 'Getting package repository state' will be run during every build because the option to run the script phase "Based on dependency analysis" is unchecked. (in target 'Testing' from project 'swift-testing')
/Users/hadi/Desktop/SwiftTestingSample/SwiftTestingSample.xcodeproj: warning: Unable to find a target which creates the host product for value of $(TEST_HOST) '/Users/hadi/Library/Developer/Xcode/DerivedData/SwiftTestingSample-dmsznctoficvpoaxbfmfzkwpjbgo/Build/Products/Debug-maccatalyst/SwiftTestingSample.app/Contents/MacOS/SwiftTestingSample' (in target 'SwiftTestingSampleTests' from project 'SwiftTestingSample')

Test session results, code coverage, and logs:
	/Users/hadi/Library/Developer/Xcode/DerivedData/SwiftTestingSample-dmsznctoficvpoaxbfmfzkwpjbgo/Logs/Test/Test-SwiftTestingSampleTests-2023.09.21_23-50-43-+0300.xcresult

Testing failed:
	External macro implementation type 'TestingMacros.TestDeclarationMacro' could not be found for macro 'Test'
	External macro implementation type 'TestingMacros.ExpectMacro' could not be found for macro 'expect'
	/Users/hadi/Library/Developer/Xcode/DerivedData/SwiftTestingSample-dmsznctoficvpoaxbfmfzkwpjbgo/Build/Intermediates.noindex/SwiftTestingSample.build/Debug-maccatalyst/SwiftTestingSampleTests.build/Objects-normal/arm64/SwiftTestingSampleTests.swiftmodule: No such file or directory
	/Users/hadi/Library/Developer/Xcode/DerivedData/SwiftTestingSample-dmsznctoficvpoaxbfmfzkwpjbgo/Build/Intermediates.noindex/SwiftTestingSample.build/Debug-maccatalyst/SwiftTestingSampleTests.build/Objects-normal/arm64/SwiftTestingSampleTests.swiftdoc: No such file or directory
	/Users/hadi/Library/Developer/Xcode/DerivedData/SwiftTestingSample-dmsznctoficvpoaxbfmfzkwpjbgo/Build/Intermediates.noindex/SwiftTestingSample.build/Debug-maccatalyst/SwiftTestingSampleTests.build/Objects-normal/arm64/SwiftTestingSampleTests.abi.json: No such file or directory
	/Users/hadi/Library/Developer/Xcode/DerivedData/SwiftTestingSample-dmsznctoficvpoaxbfmfzkwpjbgo/Build/Intermediates.noindex/SwiftTestingSample.build/Debug-maccatalyst/SwiftTestingSampleTests.build/Objects-normal/arm64/SwiftTestingSampleTests.swiftsourceinfo: No such file or directory
	Testing cancelled because the build failed.

** TEST FAILED **


The following build commands failed:
	SwiftEmitModule normal arm64 Emitting\ module\ for\ SwiftTestingSampleTests (in target 'SwiftTestingSampleTests' from project 'SwiftTestingSample')
	SwiftCompile normal arm64 Compiling\ SwiftTestingSampleTests.swift /Users/hadi/Desktop/SwiftTestingSample/SwiftTestingSampleTests/SwiftTestingSampleTests.swift (in target 'SwiftTestingSampleTests' from project 'SwiftTestingSample')
	SwiftCompile normal arm64 /Users/hadi/Desktop/SwiftTestingSample/SwiftTestingSampleTests/SwiftTestingSampleTests.swift (in target 'SwiftTestingSampleTests' from project 'SwiftTestingSample')
	Copy /Users/hadi/Library/Developer/Xcode/DerivedData/SwiftTestingSample-dmsznctoficvpoaxbfmfzkwpjbgo/Build/Products/Debug-maccatalyst/SwiftTestingSampleTests.swiftmodule/arm64-apple-ios-macabi.swiftmodule /Users/hadi/Library/Developer/Xcode/DerivedData/SwiftTestingSample-dmsznctoficvpoaxbfmfzkwpjbgo/Build/Intermediates.noindex/SwiftTestingSample.build/Debug-maccatalyst/SwiftTestingSampleTests.build/Objects-normal/arm64/SwiftTestingSampleTests.swiftmodule (in target 'SwiftTestingSampleTests' from project 'SwiftTestingSample')
	Copy /Users/hadi/Library/Developer/Xcode/DerivedData/SwiftTestingSample-dmsznctoficvpoaxbfmfzkwpjbgo/Build/Products/Debug-maccatalyst/SwiftTestingSampleTests.swiftmodule/arm64-apple-ios-macabi.swiftdoc /Users/hadi/Library/Developer/Xcode/DerivedData/SwiftTestingSample-dmsznctoficvpoaxbfmfzkwpjbgo/Build/Intermediates.noindex/SwiftTestingSample.build/Debug-maccatalyst/SwiftTestingSampleTests.build/Objects-normal/arm64/SwiftTestingSampleTests.swiftdoc (in target 'SwiftTestingSampleTests' from project 'SwiftTestingSample')
	Copy /Users/hadi/Library/Developer/Xcode/DerivedData/SwiftTestingSample-dmsznctoficvpoaxbfmfzkwpjbgo/Build/Products/Debug-maccatalyst/SwiftTestingSampleTests.swiftmodule/arm64-apple-ios-macabi.abi.json /Users/hadi/Library/Developer/Xcode/DerivedData/SwiftTestingSample-dmsznctoficvpoaxbfmfzkwpjbgo/Build/Intermediates.noindex/SwiftTestingSample.build/Debug-maccatalyst/SwiftTestingSampleTests.build/Objects-normal/arm64/SwiftTestingSampleTests.abi.json (in target 'SwiftTestingSampleTests' from project 'SwiftTestingSample')
	Copy /Users/hadi/Library/Developer/Xcode/DerivedData/SwiftTestingSample-dmsznctoficvpoaxbfmfzkwpjbgo/Build/Products/Debug-maccatalyst/SwiftTestingSampleTests.swiftmodule/Project/arm64-apple-ios-macabi.swiftsourceinfo /Users/hadi/Library/Developer/Xcode/DerivedData/SwiftTestingSample-dmsznctoficvpoaxbfmfzkwpjbgo/Build/Intermediates.noindex/SwiftTestingSample.build/Debug-maccatalyst/SwiftTestingSampleTests.build/Objects-normal/arm64/SwiftTestingSampleTests.swiftsourceinfo (in target 'SwiftTestingSampleTests' from project 'SwiftTestingSample')
(7 failures)

Hi Hadi! Thanks for giving this a try.

From what you’ve shown here, it seems like it’s failing during the build stage, which could be for one of several reasons. Would you be able to attach your sample Xcode project for us to look at somewhere, as well as the .xcresult bundle produced by xcodebuild? You could create an Issue on the swift-testing GitHub repo tracking this and we could continue this discussion there.

2 Likes