Ios 如何使用KIF测试依赖于GameKit的应用程序?

Ios 如何使用KIF测试依赖于GameKit的应用程序?,ios,integration-testing,gamekit,kif,Ios,Integration Testing,Gamekit,Kif,我正处于iOS游戏的开始阶段,需要GameKit才能玩。我对集成测试非常熟悉,并在各种项目中使用过它 但是,由于该应用程序需要GameKit,因此没有GameKit(例如GKTurnBasedMatchmakerViewController)交互,我无法测试多少。理想情况下,我甚至不需要在用户设置匹配项后测试UI,因为我不想负责测试GameKit视图控制器。此外,使用可访问性检查器,我发现GameKit视图控制器可能很难测试。我希望对游戏中心服务没有任何依赖性,因为沙箱是出了名的脆弱 理想情况下

我正处于iOS游戏的开始阶段,需要GameKit才能玩。我对集成测试非常熟悉,并在各种项目中使用过它

但是,由于该应用程序需要GameKit,因此没有GameKit(例如GKTurnBasedMatchmakerViewController)交互,我无法测试多少。理想情况下,我甚至不需要在用户设置匹配项后测试UI,因为我不想负责测试GameKit视图控制器。此外,使用可访问性检查器,我发现GameKit视图控制器可能很难测试。我希望对游戏中心服务没有任何依赖性,因为沙箱是出了名的脆弱

理想情况下,我想要的是:

[创建TurnBasedMatch with players:players的测试步骤];

但这一步骤的实现需要深入到应用程序中,找到一个GKTurnBasedMatchmakerViewControllerDelegate并显式调用它的方法。这是我遇到的第一个问题,因为我相信还有很多其他问题


有人有过这种情况的经验吗?如果有,您如何创建能够真实响应用户交互的集成测试?我是否认为这一切都是错误的,应该创建模拟对象来执行适当的回调(但这感觉更像是一个单元测试解决方案)?

我过去也遇到过类似的问题,并实现了自己的类,这些类与GameKit中的类类似,并且支持单元测试。最后(或者至少到目前为止)真的不值得这么麻烦。