我正处于需要 GameKit 才能玩的 iOS 游戏的初始阶段。我对KIF进行集成测试很满意,并在各种项目中使用过它。
然而,由于这个应用程序需要 GameKit,没有 GameKit(例如 GKTurnBasedMatchmakerViewController)交互,我无法测试太多。理想情况下,一旦用户设置比赛,我什至不需要测试 UI,因为我不想负责测试 GameKit 视图控制器。此外,使用 Accessibility Inspector 我发现 GameKit 视图控制器可能难以测试。我希望对游戏中心服务的依赖为零,因为沙盒是出了名的不稳定。
理想情况下,我想要类似的东西:
[tester stepsForCreatingTurnBasedMatchWithPlayers:players];
但是该步骤的实现需要深入应用程序以找到 GKTurnBasedMatchmakerViewControllerDelegate 并在其上显式调用方法。这是我遇到的第一个问题,因为我相信还有很多其他问题。
有没有人遇到过这种情况,如果有,你如何创建能够真正响应用户交互的集成测试?我是否认为这一切都错了,应该只是创建执行适当回调的模拟对象(但这感觉更像是一个单元测试解决方案)?