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.