swiftlang/swift-package-manager
Update macro template to support Swift Testing tests
开放
#8,890 创建于 2025年7月2日
enhancementgood first issueswift package init
仓库指标
- 星标
- (10,145 个星标)
- PR 合并指标
- (平均合并 9天 4小时) (30 天内合并 62 个 PR)
描述
According to the SwiftPM code base, we are unable to use Swift Testing to verify macros. However, the referenced GitHub issue (https://github.com/swiftlang/swift-syntax/issues/2400) is closed.
The Swift Syntax 600 release notes mentions SwiftSyntaxMacrosGenericTestSupport.
Here is a snippet of the relevant Swift Syntax release notes
SwiftSyntaxMacrosGenericTestSupport
- Description: A version of the
SwiftSyntaxMacrosTestSupportmodule that doesn't depend onFoundationorXCTestand can thus be used to write macro tests usingswift-testing. Since swift-syntax can't depend on swift-testing (which would incur a circular dependency since swift-testing depends on swift-syntax), users need to manually specify a failure handler like the following, that fails the swift-testing test:Issue.record("\($0.message)", fileID: $0.location.fileID, filePath: $0.location.filePath, line: $0.location.line, column: $0.location.column)- Pull request: https://github.com/swiftlang/swift-syntax/pull/2647
The SwiftPM template for swift package init --type macro should be update to provide an idiomatic way to write a Swift Testing test to verify and validate a macro.