我知道我可以make scalacheck tests deterministic,但我有一个更普遍的问题:scalacheck的默认非确定性行为会导致实际问题吗?我一直认为测试应该是确定性的和可重复的,反之亦然,这表明测试设计不好。 Scalacheck似乎被用于一些“严肃”的项目,所以我想知道打破这个确定性原则是否实际上是一个真实的(不仅是理论上的)问题?
答案 0 :(得分:2)
我会说“测试应该是确定性的,可重复的”并不总是适用。他们显然有相当大的地方,但随机测试也很有用。除了QuickCheck / ScalaCheck和朋友之外,还有fuzzing等方法。