您可以为特定的异常类型设置断点吗?

时间:2019-01-15 18:43:14

标签: ios swift xcode unit-testing exception-handling

我们正在尝试调试一些随机失败的单元测试。我们认为这是因为代码库在单元测试中不正确地混合了UI交互(即,在触发更新它们的服务请求时实例化ViewController)。

我正在尝试清理一下,但是我一直在收到这样的东西...

  

2019-01-15 11:05:37.500086-0500 [NAME REDACTED] [78259:9742813] ***由于未捕获的异常'NSInternalInconsistencyException'终止了应用程序,原因:'试图删除第1节,但只有更新前的0个部分”

问题是我们不知道哪个测试(或多个测试)导致了表的更新。更糟糕的是,我们甚至不知道它在哪张桌子上!调用堆栈在单元测试中不正确地挂在WaitForExpectations调用上,该单元测试测试服务调用和响应,甚至没有引用,更不用说实例化与UI有关的任何事情了。

我们的猜测是从较早的测试中发生的,该测试触发了一些UI组件,该组件在内部触发了一些请求,并且响应在原始单元测试完成很长时间之后又返回了。那可以解释为什么它在完全不相关的测试中被打破。但这只是一个猜测,因为我们不确定如何真正中断导致真正的基础异常的行。

因此,正如标题所述,如何打破特定的例外情况?我尝试了符号断点毫无用处,而常规的All Exceptions断点捕获的方式太多了,以至于变得更具侵入性而不是有用。我们只想打破这一例外。有可能吗?

0 个答案:

没有答案