如何为本地通知接口编写适当的测试?
How can I write proper tests for a local notification interface?
我正在使用 Swift 5
、Xcode 10.2
我支持 iOS 版本 10 及更高版本
我有一个通知模型,我可以使用一些数据(标题、body、操作等)和一个静态 class 进行初始化,该模型具有接受通知模型并显示本地基于其内容的通知。都是 RX
并且函数的调用者可以订阅 return 值,当用户与通知交互(点击、关闭、自定义操作等)时,它将触发一个事件。
现在我想测试这个 class,我对编写测试和 RX
都很陌生,所以我在思考这个问题时遇到了一些麻烦。在 class 之外,我只有一个功能。
我在想我真正想要测试的是什么,它归结为显示通知以及强类型用户交互的映射机制是否正常。
另一个问题是我并不总是知道显示本地通知的权限是否被授予,如果没有被授予如何测试是否一切正常。
如何授予在测试中显示通知的权限?
如何测试通知是否显示?
如何在测试中与通知交互?
很抱歉以一个的价格问了三个问题,但它们是如此相关,我认为每个人最好不要用三个非常相似的问题来混淆网站。
您超出了单元测试的范围,您正在寻找的是 UI 测试。
如果你想进行单元测试,你需要创建可测试的 类,你可以在其中专门测试小行为,例如你的 init 是否创建了你期望的值,是否在链后调用了某个方法等。
对于通知是否显示并与其交互的实际测试,您必须深入研究 UI 测试,其中实际 how-to 取决于您如何显示通知等。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
我正在使用 Swift 5
、Xcode 10.2
我支持 iOS 版本 10 及更高版本
我有一个通知模型,我可以使用一些数据(标题、body、操作等)和一个静态 class 进行初始化,该模型具有接受通知模型并显示本地基于其内容的通知。都是 RX
并且函数的调用者可以订阅 return 值,当用户与通知交互(点击、关闭、自定义操作等)时,它将触发一个事件。
现在我想测试这个 class,我对编写测试和 RX
都很陌生,所以我在思考这个问题时遇到了一些麻烦。在 class 之外,我只有一个功能。
我在想我真正想要测试的是什么,它归结为显示通知以及强类型用户交互的映射机制是否正常。
另一个问题是我并不总是知道显示本地通知的权限是否被授予,如果没有被授予如何测试是否一切正常。
如何授予在测试中显示通知的权限?
如何测试通知是否显示?
如何在测试中与通知交互?
很抱歉以一个的价格问了三个问题,但它们是如此相关,我认为每个人最好不要用三个非常相似的问题来混淆网站。
您超出了单元测试的范围,您正在寻找的是 UI 测试。
如果你想进行单元测试,你需要创建可测试的 类,你可以在其中专门测试小行为,例如你的 init 是否创建了你期望的值,是否在链后调用了某个方法等。
对于通知是否显示并与其交互的实际测试,您必须深入研究 UI 测试,其中实际 how-to 取决于您如何显示通知等。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