这个宏可以消除在单元测试中设置依赖注入实例方法初始值所需的样板代码。只需使用 @FatalTestValue
注解结构体或类,它会自动生成一个调用 fatalError()
作为闭包的初始化器。
首先,导入 FatalTestValue: import FatalTestValue
,使用 @FatalTestValue
注解您的结构体或类
import FatalTestValue
@FatalTestValue
struct Example {
var create: @Sendable (Int) async throws -> Void
var read: @Sendable (Int) async throws -> String
var update: @Sendable (Int, String) async throws -> Void
var delete: (Int) -> Void
}
这将自动生成一个带有 testValue
属性的扩展。
extension Example {
public static let testValue = Example(
create: { _ in
fatalError()
},
read: { _ in
fatalError()
},
update: { _, _ in
fatalError()
},
delete: { _ in
fatalError()
}
)
}
如果您使用 GUI 在 Xcode 中设置 Package Dependencies(包依赖),请在 Package Dependencies 中添加 URL。
https://github.com/CuriositySoftware/swift-fatal-test-value
如果您使用 Package.swift,请添加
.package(
url: "https://github.com/CuriositySoftware/swift-fatal-test-value/",
.upToNextMajor(from: "1.0.0")
)
然后将产品添加到任何需要访问该宏的目标。
.product(
name: "FatalTestValue",
package: "swift-fatal-test-value"
)