回答
您可以使用Gen.elements
與Prop.forAll
結合:
let n = Gen.elements [-99..99] |> Arb.fromGen
let prop = Prop.forAll n (fun number ->
// Test goes here - e.g.:
Assert.InRange(number, -99, 99))
prop.QuickCheck()
Gen.elements
採取有效值的序列,並創建從該序列的均勻發生器。 Prop.forAll
用該自定義生成器定義屬性。
您可以combine it with FsCheck's Glue Library for xUnit.net,這是我的首選方法:我
[<Property>]
let ``Number is between -99 and 99``() =
let n = Gen.elements [-99..99] |> Arb.fromGen
Prop.forAll n (fun number ->
// Test goes here - e.g.:
Assert.InRange(number, -99, 99))
另外考慮在這裏使用'Gen.choose' - 會更有效率(不分配整數列表)。但是'Gen.element'更直接地推廣到其他類型。 –
默認情況下,FsCheck生成1到100之間的整數,您可以通過提供配置對象來檢查改變這一點。
let config = {
Config.Quick with
EndSize = 4999
}
Check.One(config,test)
EndSize指示所有測試都通過時用於上次測試的大小。 StartSize之間的大小線性增加,如果您希望生成從除1以外的某個值開始的範圍內的測試數據,您還可以設置EndSize。見type Config
的實施https://github.com/fscheck/FsCheck/blob/master/src/FsCheck/Runner.fs
這有點誤導。大小是一個正整數,它限制了正在生成的類型的大小 - 但每種類型都有自己的解釋大小的含義。對於'int'我來說,它意味着'abs(i)<= size'。對於一個列表,它意味着生成列表的最大長度。等 –
- 1. SpringBoot更改測試範圍
- 2. 測試的類型與FsCheck
- 3. 限制鼻子測試範圍僅限於運行的測試
- 4. Maven的測試範圍
- 5. FsCheck:如何生成依賴於其他測試數據的測試數據?
- 6. Angularjs單元測試隔離範圍值
- 7. 如何測試mongoid範圍?
- 8. 測試AngularJS範圍變量
- 9. 測試超出範圍
- 10. Rails範圍測試無
- 11. 單元測試範圍
- 12. 使用structureMap測試類型的範圍
- 13. 要測試的類不在測試包的範圍內
- 14. 運行單元測試時,測試類的範圍是什麼?
- 15. Netbeans JaCoCoverage測試庫的覆蓋範圍
- 16. 測試角度範圍的實例
- 17. 變量範圍問題的測試
- 18. django:覆蓋範圍的運行測試
- 19. Rspec的/ Rails和測試validates_uniquess_of與範圍
- 20. 變量cfr的範圍。 Pluralsight C#測試
- 21. 如何測試的破壞範圍
- 22. 如何覆蓋測試的範圍bean?
- 23. 帶範圍功能的單元測試
- 24. Rails:使用RSpec測試命名範圍
- 25. 更改測試值的SSAS MDX查詢
- 26. C++單元測試:更改成員範圍
- 27. 在測試更改或測試類更改後自動運行Scala測試
- 28. 單元測試指令Click事件基於範圍值
- 29. 測試對象的更改
- 30. 單元測試和SRP(測試方法範圍/組織)
想你可以完成它創建自己的發電機:https://fsharp.github.io/FsCheck/TestData.html爲 – Christian
謝謝鏈接:-)修正它! –
你應該刪除你的問題或擴大它,所以我們可以使它對未來的用戶有用,然後 – Carsten