Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何为本地通知接口编写适当的测试?_Ios_Swift_Unit Testing_Rx Swift - Fatal编程技术网

Ios 如何为本地通知接口编写适当的测试?

Ios 如何为本地通知接口编写适当的测试?,ios,swift,unit-testing,rx-swift,Ios,Swift,Unit Testing,Rx Swift,我使用的是swift5,Xcode 10.2 我支持iOS版本10及以上 我有一个通知模型,可以用一些数据(标题、正文、动作等)初始化,还有一个静态类,该类具有一个函数,该函数接受通知模型并根据其内容显示本地通知。这是所有的RX,函数的调用者可以订阅返回值,当用户与通知交互时(点击、关闭、自定义操作等),它将触发一个事件 现在我想测试这个类,我对编写测试和RX都很陌生,所以我很难理解这个问题。在课堂之外,我只有一个函数。 我在想我真正想测试的是什么,它最终会显示通知,以及到强类型用户交互的映射机

我使用的是
swift5
Xcode 10.2

我支持iOS版本10及以上

我有一个通知模型,可以用一些数据(标题、正文、动作等)初始化,还有一个静态类,该类具有一个函数,该函数接受通知模型并根据其内容显示本地通知。这是所有的
RX
,函数的调用者可以订阅返回值,当用户与通知交互时(点击、关闭、自定义操作等),它将触发一个事件

现在我想测试这个类,我对编写测试和
RX
都很陌生,所以我很难理解这个问题。在课堂之外,我只有一个函数。
我在想我真正想测试的是什么,它最终会显示通知,以及到强类型用户交互的映射机制是否正常。
另一个问题是,我并不总是知道是否授予了显示本地通知的权限,也不知道是否授予了显示本地通知的权限,以及如何测试是否一切正常

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

如何测试通知是否显示?

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


很抱歉以一个问题的价格问了三个问题,但它们是如此相关,我想大家最好不要用三个非常相似的问题把网站弄得乱七八糟。

在这里,单元测试是不受限制的,你要找的是UI测试

如果你想进行单元测试,你需要创建可测试的类,在这些类中你可以专门测试一些小行为,比如你的init是否创建了你期望的值,在一个链之后是否调用了某个方法等等

对于实际测试,如果通知已显示并与之交互,则必须深入进行UI测试,其中实际操作方式取决于如何显示通知等。UI测试非常简单,您只需启动记录方法,然后进行清理并添加一些额外的逻辑以进行检查

以下是开始学习UI测试的好地方: