如何打破RSpec超长规格?

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

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

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

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

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

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

并立即运行它们

 rspec spec/models/series