Swift使用Apollo和GraphQL的Swift中的单元测试指南第二部分

现在,我们有了一个可以正常运行的快速服务,该服务返回了名称空间域模型,我们可以为此类设计一种测试策略。 首先,我们要考虑对GraphQL进行完全模拟是否值得。 例如,您可以创建一个符合ApolloInterface的模拟对象,然后从那里编写单元测试。

相反,我们将模拟Apollo客户端,并使用残存的原始JSON实际执行Apollo查询。 这是理想的,因为我们实际上测试了代码如何与Apollo交互。 此外,您可以使用JSON和模拟的NetworkTransport对象在单元测试中模拟失败的网络或解析状态,从而使我们可以获得有关World.Store网络对象的更多测试范围。

此测试策略是从Apollo-iOS测试套件中借用的,您可以在此处查看源代码。

首先,让我们看一下模拟的NetworkTransport对象:


最初发布在 gist.github.com上

    Interesting Posts