2013-11-23 21 views
3

我知道我可以make scalacheck tests deterministic,但我有一個更普遍的問題:scalacheck的默認非確定性行爲是否會導致實際問題?我一直認爲測試應該是確定性的和可重複的,而另一種方式則表明測試設計不好。 Scalacheck似乎被用於一些「嚴肅」的項目中,所以我想知道打破這個確定性原則是否實際上是一個真實的(不僅是理論上的)問題?scalacheck非確定性方法是否有問題?

回答

2

我想說「測試應該是確定性和可重複的」並不總是適用。他們顯然有他們相當大的地方,但隨機測試也很有用。除了QuickCheck/ScalaCheck和朋友之外,還有諸如fuzzing的方法。

+0

您所提供的鏈接說,「所以爲了能夠重現錯誤,模糊軟件往往會記錄輸入的數據它產生」,並回答我的問題,謝謝! – kuonirat

+0

是的,ScalaCheck特別默認打印任何失敗測試的參數(當然,如果你有一個強大的'toString',它只會工作得很好)。 –