如何为本地通知界面编写适当的测试?

时间:2019-05-31 12:43:22

标签: ios swift unit-testing rx-swift

我正在使用Swift 5Xcode 10.2
我支持iOS 10及更高版本

我有一个通知模型,我可以使用一些数据(标题,正文,动作等)进行初始化,并使用一个静态类来初始化该类,该函数具有一个通知模型并根据其内容显示本地通知。都是RX,函数的调用者可以预订返回值,并且当用户与通知进行交互(轻按,关闭,自定义操作等)时,它将触发一个事件。

现在,我想测试该类,对于编写测试和RX来说我都是新手,所以在解决这个问题时遇到了一些麻烦。在课堂之外,我所拥有的只是一个功能。
我一直在思考我实际要测试的内容,最终导致显示通知,以及到强类型用户交互的映射机制是否正常。
另一个问题是,我并不总是知道是否已授予显示本地通知的权限,以及是否未获准如何测试一切正常。

我如何授予在测试中显示通知的权限?

如何测试通知是否显示?

如何在测试中与通知交互?

很抱歉以一个价格问了三个问题,但它们是如此相关,我认为最好不要让每个人都对三个非常相似的问题打乱整个网站。

1 个答案:

答案 0 :(得分: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