如何使用XCTests测试打印语句?

时间:2018-12-01 07:43:54

标签: ios swift unit-testing tdd xctest

我正在尝试测试某个功能是否打印出某些东西。如何使用XCTests做到这一点?如果可行,是否有事实理由这样做而不是这样做?

谢谢!

2 个答案:

答案 0 :(得分:1)

@Mike Taverne是正确的。对于傻笑,如果您确实想针对打印语句进行测试,则可以扩展打印功能,如下所示:

var printWasWrittenTo: Bool = false

public func print(_ items: Any..., separator: String = " ", terminator: String = "\n") {
    var output: String = items.map { "\($0)" }.joined(separator: separator)

    printWasWrittenTo = true //test against this variable being changed

    Swift.print(output, terminator: terminator)
}

答案 1 :(得分:0)

我不知道测试print语句的方法,但我认为这并不重要。 print语句的输出与您的应用实际执行的操作无关。您应该测试应用更改的数据,向用户显示的数据等。