gpt4 book ai didi

ruby-on-rails - 如果设置了 graphQL 字段方法参数默认值,则使用 RSpec 进行测试

转载 作者:太空宇宙 更新时间:2023-11-03 16:40:37 24 4
gpt4 key购买 nike

如何编写测试来检查字段方法参数的默认值?

    field :foo, String, null: false do
argument my_argument, Int, required: true
argument my_other_argument, Boolean, required: false
end

def foo(my_argument:, my_other_argument: true)
<some code>
end

我在 RSpec 测试中的尝试:

    field :foo, "String!" do
it "test that my_other_argument has a default value of true"
resolve(args: {my_argument: 10}) # Note that my_other_argument is not given a value

expect(args[:my_other_argument]).to eq(true)
end
end

上面的例子失败并抛出这个错误:

undefined local variable or method `args'

所以归结起来——似乎无法弄清楚这一行应该如何写:

expect(args[:my_other_argument]).to eq(true)

...或者我走错了路?

最佳答案

如果 foo 正在调用另一个方法,您可以使用 receivewith。像...

class Foo
def bar(my_other_argument: true)
baz(my_other_argument)
end

def baz(val)
# Stuff
end
end

describe :bar do
context 'default values' do
it 'defaults to true' do
@foo = Foo.new
expect(@foo).to receive(:baz).with(true)

@foo.bar
end
end
end

关于ruby-on-rails - 如果设置了 graphQL 字段方法参数默认值,则使用 RSpec 进行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55724826/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com