Ruby on rails Rspec rails:检查object.value是否为false

Ruby on rails Rspec rails:检查object.value是否为false,ruby-on-rails,rspec,type-conversion,boolean,Ruby On Rails,Rspec,Type Conversion,Boolean,我正在rails中测试一个cron作业,我想测试object的属性在默认情况下是否为false,这是执行该作业的代码部分: describe ".perform()" do before :each do SendReportCronJob.perform() end context "automatically_send_report" do it "should be false by default" do binding

我正在rails中测试一个cron作业,我想测试object的属性在默认情况下是否为false,这是执行该作业的代码部分:

describe ".perform()" do
    before :each do
      SendReportCronJob.perform()
    end

    context "automatically_send_report" do

      it "should be false by default" do
        binding.pry()
        expect( automatically_send_report.value ).to be "false"
      end
    end
    context "time_limit" do

      it "should not be nil" do
        expect( time_limit_for_sending_report.value ).to_not be_nil
      end
    end

  end
问题是自动发送报告。值返回“false”值

这里是我执行binding.pry()操作时rails控制台的输出:

#<Setting:0x00000009990878> {
             :id => "69617295-4209-4092-80cf-5934d1cf7d38",
     :related_id => "cd830ace-933a-4230-ad54-bd94e63d5d7b",
            :key => "automatically_send_report",
          :value => "false",
      :data_type => "boolean",
    :is_archived => false,
  :updated_by_id => nil,
      :device_id => nil,
     :created_at => Wed, 18 Apr 2018 18:34:35 +03 +03:00,
     :updated_at => Wed, 18 Apr 2018 18:34:35 +03 +03:00
}
#{
:id=>“69617295-4209-4092-80cf-5934d1cf7d38”,
:related_id=>“cd830ace-933a-4230-ad54-bd94e63d5d7b”,
:key=>“自动发送报告”,
:value=>“false”,
:data_type=>“boolean”,
:is_archived=>false,
:通过\u id=>nil更新\u,
:device_id=>nil,
:创建时间=>2018年4月18日星期三18:34:35+03+03:00,
:更新时间=>2018年4月18日星期三18:34:35+03+03:00
}

我可以在
rspec
文件中将该值从字符串转换为布尔值吗

您不需要将字符串转换为布尔值,也可以比较字符串,但在这种情况下,您需要使用
eq
而不是
be
,因为它们是具有相同值的不同对象:

expect(automatically_send_report.value).to eq "false"

谢谢安娜·玛丽亚!