我正在使用Swift 5
,Xcode 10.2
我支持iOS 10及更高版本
我有一个通知模型,我可以使用一些数据(标题,正文,动作等)进行初始化,并使用一个静态类来初始化该类,该函数具有一个通知模型并根据其内容显示本地通知。都是RX
,函数的调用者可以预订返回值,并且当用户与通知进行交互(轻按,关闭,自定义操作等)时,它将触发一个事件。
现在,我想测试该类,对于编写测试和RX
来说我都是新手,所以在解决这个问题时遇到了一些麻烦。在课堂之外,我所拥有的只是一个功能。
我一直在思考我实际要测试的内容,最终导致显示通知,以及到强类型用户交互的映射机制是否正常。
另一个问题是,我并不总是知道是否已授予显示本地通知的权限,以及是否未获准如何测试一切正常。
我如何授予在测试中显示通知的权限?
如何测试通知是否显示?
如何在测试中与通知交互?
很抱歉以一个价格问了三个问题,但它们是如此相关,我认为最好不要让每个人都对三个非常相似的问题打乱整个网站。
答案 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