我有一个嵌套很深的数据结构,其中有许多浮点数。我正在使用FsCheck来检查在序列化和反序列化后数据是否不变。
当一个浮点数是NaN或+/-无穷大时,这个属性会失败,但这种情况并不重要,因为我不希望这些值出现在实际数据中。
有没有办法防止FsCheck生成NaN和无穷大?
我已经尝试丢弃包含这些值的生成数据,但这使得测试非常缓慢,甚至在我写这篇文章时测试仍在运行,我怀疑它是否能够完成...
当一个浮点数是NaN或+/-无穷大时,这个属性会失败,但这种情况并不重要,因为我不希望这些值出现在实际数据中。
有没有办法防止FsCheck生成NaN和无穷大?
我已经尝试丢弃包含这些值的生成数据,但这使得测试非常缓慢,甚至在我写这篇文章时测试仍在运行,我怀疑它是否能够完成...
NormalFloat
包装器 https://github.com/fsharp/FsCheck/blob/master/src/FsCheck/Arbitrary.fs#L28 https://github.com/fsharp/FsCheck/blob/master/src/FsCheck/Arbitrary.fs#L603 - Mauricio SchefferNormalFloat
。 - Mauricio Scheffer