我正在为我的 GraphQL 端点编写 Rspec 测试,我注意到他们使用的对象是 Schema::Object 类型。我一直在为我的对象使用 ObjectType,这意味着我不能使用 MySchema.execute() 进行测试。
我一直试图弄清楚这两种类型之间的区别,但找不到任何东西。这让我觉得我只是对正在发生的事情有一个根本的误解?谁可以给我解释一下这个?
我正在为我的 GraphQL 端点编写 Rspec 测试,我注意到他们使用的对象是 Schema::Object 类型。我一直在为我的对象使用 ObjectType,这意味着我不能使用 MySchema.execute() 进行测试。
我一直试图弄清楚这两种类型之间的区别,但找不到任何东西。这让我觉得我只是对正在发生的事情有一个根本的误解?谁可以给我解释一下这个?
看看这个文档:https ://github.com/rmosolgo/graphql-ruby/blob/master/guides/schema/testing.md
查看标题为 的部分Don't test the schema
。
测试 GraphQL 模式行为的最简单方法是将行为提取到单独的对象中并单独测试这些对象。对于 Rails,您不会通过运行控制器测试来测试模型,对吗?同样,您可以自行测试系统的“较低级别”部分,而无需运行端到端测试。
没有代码很难判断,但您似乎正在尝试以艰难的方式测试您的 GraphQL 端点。