swift-fatal-test-value

version Build Swift Package Manager License

这个宏可以消除在单元测试中设置依赖注入实例方法初始值所需的样板代码。只需使用 @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()
        }
    )
}

安装

对于 Xcode

如果您使用 GUI 在 Xcode 中设置 Package Dependencies(包依赖),请在 Package Dependencies 中添加 URL。

https://github.com/CuriositySoftware/swift-fatal-test-value

对于 Package.swift

如果您使用 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"
)