XCTest 将信息从应用程序(被测)发送回 XCTests

XCTest sending information from the app (under test) back to XCTests

情况:

考虑使用 xcode/XCTests 测试的 ios/swift/app。 该应用程序还包括一些到控制台的日志记录 (并且 Google/Firebase/Crashlytics 作为非致命异常:效果很好!)。

为此,正在使用自定义写入日志记录 class,它接受日志记录作为调试、信息和错误。要点:每次完成错误日志时添加一些自定义代码很容易。

问题:

当在 XCTest 期间记录错误时,我们希望将其发送到 运行 XCTest,以便 XCTest 可以将其视为失败。基本上这意味着我们需要一种方法将信息从被测应用程序发送回 运行 XCTest。

我们考虑过使用通知中心,但这并不适用,因为 XCTest 不在应用进程中 运行。这怎么可能?

我建议您尝试几个选项:

  1. 肮脏的一个。在这些错误记录函数中设置粘贴板。 然后检查 XCTest 中的粘贴板。
  2. 更好的选择——设置一个微型错误记录服务器并在 XCTest 中捕获错误。
  3. 最后,如果您使用模拟器 – 您应该使用他们的功能 – read/write 访问他们的沙箱。您可以在某处写入日志并在测试代码中读取它们。