加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails测试:固定装置,工厂和魔术数字

发布时间:2020-12-17 03:33:25 所属栏目:百科 来源:网络整理
导读:我有一个应用程序需要相当多的数据(1000条记录)来进行适当的测试.我发现获得一组可测试的,合理的数据的唯一方法是使用我的生产数据库的一个子集.我已将其转换为正常`test / fixtures’位置的YAML灯具. 这有效,但现在我有一堆看似脆弱的测试和断言,这取决于它
我有一个应用程序需要相当多的数据(1000条记录)来进行适当的测试.我发现获得一组可测试的,合理的数据的唯一方法是使用我的生产数据库的一个子集.我已将其转换为正常`test / fixtures’位置的YAML灯具.

这有效,但现在我有一堆看似脆弱的测试和断言,这取决于它们是满足条件X的特定数量的记录…

def test_children_association
  p = Parent.find(1)
  assert_equal 18,p.children.count,"Parent.children isn't providing the right records"
end

这对我来说似乎不是一个好主意,但我不确定是否有更好/可接受的方法来测试需要大量数据层次结构的应用程序.

解决方法

测试中的幻数不是反模式.您的测试需要非常简单,以至于您无需测试它们.这意味着你将拥有一些神奇的数字.这意味着当您更改少量功能时,您的测试将会中断.这很好.

夹具有some problems,但是你可以做一些简单的事情来使它们更容易使用:

>只有您的灯具中的基线数据,大多数测试需要但不关心的数据类型.这将涉及预先投入时间,但最好早点承担痛苦,而不是在项目的生命周期中编写糟糕的单元测试.>在测试环境中添加要测试的数据.这提高了测试的可读性,并使您免于在单元测试开始时编写“确保没有人搞砸了灯具”的健全性检查.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读