--RSpec 中的种子选项
--seed option in RSpec
有谁能解释一下这到底是什么意思?文档似乎说它类似于设置订单 (--seed 123 # same as --order rand:123
),但据我所知,似乎没有进一步深入。我假设它与数据库种子数据无关,但我很可能是错的。
在默认配置中,RSpec 运行 以随机顺序进行测试。
这实际上是一个很好的做法,因为测试应该相互独立。 运行 它们以随机顺序排列有助于找到仅当它们以特定顺序排列 运行 而在另一个顺序排列时失败的测试。
但问题是:当 RSpec 运行 以随机顺序进行测试然后失败时,您如何重新 运行 再次以完全相同的顺序进行测试以调试问题?
这可以通过告诉 RSpec 使用与之前使用的随机性相同的种子来实现。
RSpec告诉你这个种子什么时候开始:
$ rspec spec
Randomized with seed 48111
.....*.........
以完全相同的顺序重新运行规格运行:
$ rspec spec --seed 48111
在这种情况下阅读 Random#seed
可能会很有趣。
有谁能解释一下这到底是什么意思?文档似乎说它类似于设置订单 (--seed 123 # same as --order rand:123
),但据我所知,似乎没有进一步深入。我假设它与数据库种子数据无关,但我很可能是错的。
在默认配置中,RSpec 运行 以随机顺序进行测试。
这实际上是一个很好的做法,因为测试应该相互独立。 运行 它们以随机顺序排列有助于找到仅当它们以特定顺序排列 运行 而在另一个顺序排列时失败的测试。
但问题是:当 RSpec 运行 以随机顺序进行测试然后失败时,您如何重新 运行 再次以完全相同的顺序进行测试以调试问题?
这可以通过告诉 RSpec 使用与之前使用的随机性相同的种子来实现。
RSpec告诉你这个种子什么时候开始:
$ rspec spec
Randomized with seed 48111
.....*.........
以完全相同的顺序重新运行规格运行:
$ rspec spec --seed 48111
在这种情况下阅读 Random#seed
可能会很有趣。