如何为本地通知界面编写适当的测试?
Posted
技术标签:
【中文标题】如何为本地通知界面编写适当的测试?【英文标题】:How can I write proper tests for a local notification interface? 【发布时间】:2019-05-31 12:43:22 【问题描述】:我正在使用Swift 5
、Xcode 10.2
我支持 ios 10 及更高版本
我有一个通知模型,我可以使用一些数据(标题、正文、操作等)和一个静态类进行初始化,该类具有一个接收通知模型并根据其内容显示本地通知的函数。都是RX
,函数的调用者可以订阅返回值,当用户与通知交互时(点击、关闭、自定义操作等),它将触发一个事件。
现在我想测试这个类,我对编写测试和RX
都非常陌生,所以我在解决这个问题时遇到了一些麻烦。在课堂之外,我只有一个功能。
我在考虑我真正想要测试的内容,它归结为显示通知以及映射机制到强类型用户交互是否正常。
另一个问题是我并不总是知道是否已授予显示本地通知的权限,以及是否未授予如何测试一切是否正常。
如何授予在测试中显示通知的权限?
如何测试通知是否显示?
如何在测试中与通知交互?
很抱歉以一个问题的价格问了三个问题,但它们是如此相关,我认为每个人最好不要用三个非常相似的问题来混淆网站。
【问题讨论】:
【参考方案1】:您在这里超出了单元测试的范围,而您正在寻找的是 UI 测试。
如果您想进行单元测试,您需要创建可测试的类,您可以在其中专门测试小的行为,例如您的 init 是否创建了您期望的值、是否在链之后调用了某个方法等。
对于是否显示通知并与之交互的实际测试,您将不得不深入研究 UI 测试,其中实际操作方法取决于您如何显示通知等。UI 测试开始时非常简单,您只需启动记录方法,然后清理并添加一些额外的逻辑进行检查。
这些是开始学习 UI 测试的好地方: https://developer.apple.com/library/archive/documentation/DeveloperTools/Conceptual/testing_with_xcode/chapters/09-ui_testing.html
https://www.raywenderlich.com/960290-ios-unit-testing-and-ui-testing-tutorial
https://www.swiftbysundell.com/posts/getting-started-with-xcode-ui-testing-in-swift
【讨论】:
以上是关于如何为本地通知界面编写适当的测试?的主要内容,如果未能解决你的问题,请参考以下文章