XCTestDelayPrinter

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

  1. 仅在所有测试完成后输出日志,防止执行过程中日志分散。
  2. 仅在运行单个测试用例时输出日志。 当使用 ⌘+U 运行所有测试时,不会产生输出,并且会跳过延迟的闭包。

安装

XCTestDelayPrinter 添加到你的 Swift 包依赖项中。

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

使用

使用 pr 进行延迟日志记录

import XCTestDelayPrinter

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

func testImmediatePrint() {
    pr(This prints immediately.", 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 许可证


XCTestDelayPrinter 中文说明

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

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

安装

XCTestDelayPrinter 添加到 Swift 包依赖中。

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

使用

使用 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 许可证