如何打破RSpec超长规格?

时间:2015-07-13 09:41:25

标签: ruby unit-testing rspec tdd

有没有一种方法可以将模型的规格分解为某种层次结构?我们的几个型号的规格超过了5000行,这降低了它们的可维护性。

我知道在一个理想的世界中,模型不够复杂,不需要这么大的测试,但这些模型实际上是来自Python科学库(系列和数据框架)的pandas对象的Ruby实现,所以我们不幸受此限制。

我希望能够通过逻辑操作拆分测试。这可能吗?理想情况下,我也希望使用单个命令运行模型的所有规范。

1 个答案:

答案 0 :(得分:1)

当然可以。我从来没有随意破坏模型规格,因为我总是能够打破模型然后测试碎片,但我经常不得不打破验收规格,因为示例

如果你的Series课有很多关于算术的方法,一堆关于棒球,一堆关于电视和一堆关于布线,你可以打破这样的规格

spec/models/series/
  arithmetic_spec.rb
  baseball_spec.rb
  television_spec.rb
  wiring_spec.rb

并使用

立即运行它们
rspec spec/models/series