Swift使用Apollo和GraphQL的Swift中的单元测试指南第二部分
现在,我们有了一个可以正常运行的快速服务,该服务返回了名称空间域模型,我们可以为此类设计一种测试策略。 首先,我们要考虑对GraphQL进行完全模拟是否值得。 例如,您可以创建一个符合ApolloInterface
的模拟对象,然后从那里编写单元测试。
相反,我们将模拟Apollo客户端,并使用残存的原始JSON实际执行Apollo查询。 这是理想的,因为我们实际上测试了代码如何与Apollo交互。 此外,您可以使用JSON和模拟的NetworkTransport
对象在单元测试中模拟失败的网络或解析状态,从而使我们可以获得有关World.Store
网络对象的更多测试范围。
此测试策略是从Apollo-iOS测试套件中借用的,您可以在此处查看源代码。
首先,让我们看一下模拟的NetworkTransport
对象:
最初发布在 gist.github.com上 。