ruby – rails rspec – 如何检查模型常量?

我怎么能这样做:
it { should have_constant(:FIXED_LIST) }

在我的模型(活动记录)中,我有FIXED_LIST =’A String’

它不是db属性方法,我无法使用responds_to或has_attribute来测试它(它们失败).我可以用什么来检查它. – 顺便说一下我安装了shoulda-matchers.

解决方法

根据David Chelimsky的回答,我通过略微修改他的代码来实现这一点.

文件spec / support / utilities.rb(或spec / support中的其他一些文件)中,您可以放置​​:

RSpec::Matchers.define :have_constant do |const|
  match do |owner|
    owner.const_defined?(const)
  end
end

注意使用“RSpec :: Matchers.define”而不是“matchers”

这允许测试规范中的常量,例如:

it "should have a fixed list constant" do
    YourModel.should have_constant(:FIXED_LIST)
 end

注意使用“have_constant”而不是“have_const”

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...