如何使用 iOS 中的 objective C 单元测试处理整个应用程序中随时出现的警报?

How to handle alert that appears anytime through out the app with objective C Unit testing in iOS?

我在这里看到了几个关于警报处理的问题,但所有问题都在 javascript 中进行了描述。但我需要 objective C 中的解决方案。所以,我知道要处理一个在特定时间出现在屏幕上的警报。但是如何处理不确定的警报呢?意思是,如果应用程序中随时出现警报,我将如何捕捉警报?

在捕获警报之前,您需要能够以可靠的方式触发警报以进行测试。因此,查看驱动警报的标准并弄清楚如何在测试情况下模拟它。在那里,您可以查看如何验证警报的内容以及它是否正确显示。

如果您不使用它,我还建议您研究一下 OCMock 如何提供帮助。当谈到单元测试 Objective-C 代码时,我发现它非常宝贵,因为它允许我侵入事物并创建我需要的不同情况。但请注意,由于 Swift 代码的执行方式,OCMock 将无法与 Swift 一起使用。因此,如果您正在查看 Swift,您的测试技术将不得不彻底改变。