如何在测试时捕获失败日志:XCTest?

How to capture Failure logs while testing : XCTest?

使用 XCTest。测试时测试结果保存在 TestSummaries.plist 路径:

/Users/smriti/Library/Developer/Xcode/DerivedData/Project_name/Logs/Test/

谁能告诉我如何从上面的路径读取 TestSummaries.plist 文件的内容?

需要从上面的文件中捕获结果数据(错误消息、测试用例、行号)并写入 excel 函数 tearDown()

尝试使用

  1. NSSearchPathForDirectoriesInDomains(.AllLibrariesDirectory, .AllDomainsMask, true) -> 未提供所需路径。

  2. NSBundle.mainBundle 给出 "Project_name/Build/Products/" 的路径而不是 "/Project_name/Logs/Test/"

您需要编写一个 post 测试脚本来导出结果,因为 TestSummaries.plist 文件在测试 运行 完成之前不可用。

无法在测试拆解期间导出测试结果,因为测试只有在拆解完成后才结束。拆解操作应该是解决测试中的松散问题并重置被测应用程序状态的操作,而不是用于 post-测试处理。

找到另一种获取测试结果数据的方法。

func recordFailureWithDescription(描述:字符串,inFile 文件路径:字符串,atLine 行号:UInt,预期:布尔)

Above function will be called every time a failure occurs while test run and will give necessary details(error description, filename, line number) which can be written to file.