如何分解 RSpec 中的超长规格?
How to break down super long specs in RSpec?
有没有一种方法可以将模型的规格分解为某种层次结构?我们几个模型的规范已经超过 5000 行,这降低了它们的可维护性。
我知道在理想世界中,模型不会复杂到需要这种规模的测试,但这些模型实际上是 Python 科学 pandas 对象的 Ruby 实现库(Series 和 DataFrame),所以很遗憾我们受此约束。
我希望能够通过逻辑操作拆分测试。这可能吗?理想情况下,我也想 运行 使用单个命令的模型的所有规格。
当然可以。我从来不必随意分解模型规格,因为我总是能够分解模型然后测试各个部分,但我经常不得不分解验收规格,例如。
如果你的 Series
class 有一堆关于算术的方法,一堆关于棒球的,一堆关于电视的,还有一堆关于布线的,你可以像这样分解规范
spec/models/series/
arithmetic_spec.rb
baseball_spec.rb
television_spec.rb
wiring_spec.rb
和运行他们一起用
rspec spec/models/series
有没有一种方法可以将模型的规格分解为某种层次结构?我们几个模型的规范已经超过 5000 行,这降低了它们的可维护性。
我知道在理想世界中,模型不会复杂到需要这种规模的测试,但这些模型实际上是 Python 科学 pandas 对象的 Ruby 实现库(Series 和 DataFrame),所以很遗憾我们受此约束。
我希望能够通过逻辑操作拆分测试。这可能吗?理想情况下,我也想 运行 使用单个命令的模型的所有规格。
当然可以。我从来不必随意分解模型规格,因为我总是能够分解模型然后测试各个部分,但我经常不得不分解验收规格,例如。
如果你的 Series
class 有一堆关于算术的方法,一堆关于棒球的,一堆关于电视的,还有一堆关于布线的,你可以像这样分解规范
spec/models/series/
arithmetic_spec.rb
baseball_spec.rb
television_spec.rb
wiring_spec.rb
和运行他们一起用
rspec spec/models/series