Contents

wuyu2015/xctestdelayprinter

A lightweight XCTest utility package that solves 2 problems:

Installation

Add XCTestDelayPrinter to your Swift package dependencies.

.package(url: "https://github.com/wuyu2015/XCTestDelayPrinter", from: "1.0.2")

Usage

Use pr for delayed logging:

import XCTestDelayPrinter

func testExample() {
    pr("This will be printed after all tests.")
}

func testImmediatePrint() {
    pr(This prints immediately.", force: true)
}

Use delay for deferred execution (closures will not execute when running tests with ⌘+U):

import XCTestDelayPrinter

func testDelayedReturnString() {
    delay {
        "Hello World!"
    }
}

func testDelayedComputation() {
    delay {
        print("Sleep start")
        // 1
        sleep(1)
        print(1)
        // 2
        sleep(1)
        print(2)
        // 3
        sleep(1)
        print(3)
        return "Sleep end"
    }
}

License

MIT License


XCTestDelayPrinter 中文说明

一个轻量级的 XCTest 工具包,解决了 2 个问题:

  1. 在所有测试完成后输出日志,避免了测试过程中日志分散的问题。
  2. 仅在运行单个测试用例时输出日志,使用 ⌘+U 运行所有测试时,不会输出内容或跳过执行闭包。

安装

XCTestDelayPrinter 添加到 Swift 包依赖中。

.package(url: "https://github.com/wuyu2015/XCTestDelayPrinter", from: "1.0.2")

使用

使用 pr 延迟打印:

import XCTestDelayPrinter

func testExample() {
    pr("所有测试完成后打印")
}

func testImmediatePrint() {
    pr("立即打印", force: true)
}

使用 delay 延迟打印(使用⌘+U 运行测试时,闭包不会执行):

import XCTestDelayPrinter

func testDelayedReturnString() {
    delay {
        "Hello World!"
    }
}

func testDelayedComputation() {
    delay {
        print("Sleep start")
        // 1
        sleep(1)
        print(1)
        // 2
        sleep(1)
        print(2)
        // 3
        sleep(1)
        print(3)
        return "Sleep end"
    }
}

许可证

MIT License

Package Metadata

Repository: wuyu2015/xctestdelayprinter

Default branch: main

README: README.md