gpt4 book ai didi

ruby-on-rails - Rspec 检查返回值

转载 作者:行者123 更新时间:2023-11-28 20:06:15 25 4
gpt4 key购买 nike

我正在学习 Rails rspec 中的测试。我有这部分测试:

subject(:service) { described_class.new() }
context 'when sth' do
it 'should sth' do
expect ( service.call(@params) ).to eq(0)
end
end

服务的方法调用返回号。但我得到这样的东西:

失败:

 1) Module::Registration when sth should sth
Failure/Error: expect ( service.call(@params) ).to eq(2)
NoMethodError:
undefined method `to' for 2:Fixnum
# ./spec/module/registration_spec.rb:22:in `block (3 levels) in <module:Module>'

Finished in 2.48 seconds
1 example, 1 failure

那么如何使用 to 检查该方法是否返回正确的“Number”变量?

最佳答案

您必须删除 expect(:

expect( service.call(@params) ).to eq(0)
# ^^

否则 Ruby 会单独计算表达式:

( service.call(@params) ).to
( 2 ).to
#=> undefined method `to' for 2:Fixnum

关于ruby-on-rails - Rspec 检查返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23346023/

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