【问题标题】:graphql-ruby ObjectType vs Schema::Objectgraphql-ruby ObjectType vs Schema::Object
【发布时间】:2019-05-08 17:25:44
【问题描述】:

我正在为我的 GraphQL 端点编写 Rspec 测试,我注意到他们使用的对象是 Schema::Object 类型。我一直在为我的对象使用 ObjectType,这意味着我不能使用 MySchema.execute() 进行测试。

我一直试图找出这两种类型之间的区别,但找不到任何东西。这让我觉得我只是对正在发生的事情有一个根本的误解?谁能给我解释一下?

【问题讨论】:

  • 你能举一个不起作用的测试例子吗?我怀疑GraphQL::Schema::Object 是新的graphql-ruby 1.8 API 的一部分,但这不应该影响顶级schema.execute() 接口。

标签: ruby rspec graphql graphql-ruby


【解决方案1】:

看看这个文档:https://github.com/rmosolgo/graphql-ruby/blob/master/guides/schema/testing.md

查看标题为Don't test the schema的部分。

测试 GraphQL 模式行为的最简单方法是将行为提取到单独的对象中并单独测试这些对象。对于 Rails,您不会通过运行控制器测试来测试模型,对吗?同样,您可以自行测试系统的“较低级别”部分,而无需运行端到端测试。

没有代码很难判断,但您似乎正在尝试测试您的 GraphQL 端点困难的方式

【讨论】:

    猜你喜欢
    • 2020-11-21
    • 2012-03-25
    • 2017-01-02
    • 2019-05-17
    • 1970-01-01
    • 2018-09-07
    • 1970-01-01
    • 2016-05-06
    • 2021-03-28
    相关资源
    最近更新 更多