【问题标题】:Add Rails minitest fixtures for a single test为单个测试添加 Rails minitest 固定装置
【发布时间】:2016-10-30 10:19:30
【问题描述】:

有没有办法只为一个特定的测试或一组测试使用 Rails minitest 固定装置?我问是因为我想使用标准的index/show/delete 方案显示Delayed::Job 工作,所以我想伪造一些Delayed::Job 对象来测试我的观点。但是当我实际测试我的 Delayed::Job 处理代码时,我不希望这些对象出现,所以我想添加一次特定的测试集。

【问题讨论】:

  • 您是否考虑过针对这些情况的工厂模式?然后,您可以按需构建对象。它可以像在 setup 方法中构建对象一样简单,或者factory_girl 会有所帮助?

标签: ruby-on-rails delayed-job minitest fixtures


【解决方案1】:

您可以编写一个创建测试数据/夹具的函数,并在测试之前调用该函数。喜欢

def test_user_delete
  create_user
  ...
  ...
end

private    
def create_user
  User.create(...)
end

【讨论】:

  • 谢谢两位。我还没有机会尝试你的方法,但是我遇到的一个问题似乎是paranoia 中的一个错误;从paranoia 1.2.0 升级到 2.2.0 解决了它。该错误导致了一个关于 default_scope 的奇怪错误,这似乎与 paranoia 如何将自己插入到我的 delayed_jobs 类中有关。
猜你喜欢
  • 1970-01-01
  • 2011-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-18
  • 1970-01-01
  • 2011-12-05
  • 1970-01-01
相关资源
最近更新 更多