gpt4 book ai didi

ruby-on-rails - 测试与 rspec-rails 3.0.1 和 shoulda 的关联不起作用

转载 作者:数据小太阳 更新时间:2023-10-29 07:23:45 24 4
gpt4 key购买 nike

目前,使用 rspec-rails (2.14.2),我测试我在模型规范中与 shoulda (3.5.0) gem 的关联,如下所示:

# app/models/user.rb
class User < ActiveRecord::Base

belongs_to :school

end

# spec/models/user_spec.rb
describe User do

it { should belong_to :school }

end

经过一些研究,我在尝试使与关联相关的断言起作用时遇到了困难(它们似乎都失败了)。

错误信息:

1) User
Failure/Error: it { is_expected.to belong_to :school }
NoMethodError:
undefined method `belong_to' for #<RSpec::ExampleGroups::School:0x007f8a4c7a68d0>
# ./spec/models/user.rb:4:in `block (2 levels) in <top (required)>'

所以我的问题是:

  1. 你能在没有 shoulda gem 的情况下测试联想吗?根据我所看到的“期望”语法,这似乎是不可能的。
  2. shoulda gem 是否会因 rspec 3.0.1 对所有人中断?有解决方法吗?

最佳答案

shoulda-matchers 是提供关联、验证和其他匹配器的 gem。

shoulda gem(我们也制作)用于将 shoulda-matchers 与 Test::Unit 结合使用(并且还提供了一些不错的东西,例如上下文和使用字符串作为测试名称的能力)。但是,如果您使用的是 RSpec,则需要使用 shoulda-matchers,而不是 shoulda。

关于ruby-on-rails - 测试与 rspec-rails 3.0.1 和 shoulda 的关联不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24029606/

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