如何在rails中的测试夹具文件中访问模型中定义的哈希

时间:2017-10-09 11:36:26

标签: ruby-on-rails

我有一个status_id属性的Jobs模型。我在模型中定义了以下哈希,表示属性

  JOB_STATUS = {
    new: 10,
    scheduled: 20,
    in_progress: 30,
    complete: 40,
    declined: 50,
    cancelled: 60,
  }

在我的fixture文件jobs.yml中,我想使用如下的哈希

one:
  status_id: Job::JOB_STATUS[:scheduled]
  ... other model attributes

当我运行测试时,status_id始终在测试数据库中设置为零。

2 个答案:

答案 0 :(得分:0)

我认为你需要在值中存根:

allow(Job).to receive(:JOB_STATUS).and_return ( JOB_STATUS = {
  new: 10,
  scheduled: 20,
  in_progress: 30,
  complete: 40,
  declined: 50,
  cancelled: 60,
} )

答案 1 :(得分:0)

尝试插入yml中的值

one:
  status_id: <%= Job::JOB_STATUS[:scheduled] %>
  ... other model attributes

这应该