- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试对此功能进行测试
let extract_one_rule (rule:Rule.t<'a,'b>) =
let rec expand = function
|PAlt (a,b) -> expand a @ expand b
|PSeq (a,b) -> let wrap = List.map (fun x -> (x.rule, fun r -> {x with rule = r})) a
|> List.unzip
in
let rec gen = function
| hd::tl -> [for x in hd -> x :: ( gen tl |> List.concat)]
| [] -> []
in
fst wrap |> List.map expand |> gen
|> List.map (fun x -> PSeq ((List.map2 ( |> ) x (snd wrap)),b))
|PRef _
|PLiteral _
|PToken _ as t -> [t]
| _ -> (System.Console.WriteLine("incorrect tree for alternative expanding!")
; failwith "incorrect tree for alternative expanding!")
in
expand rule.body |> List.map (fun x -> {rule with body = x})
let ExpandAlterTest(t : Rule.t<Source.t,Source.t> ) = convertToMeta t |> List.forall (fun x -> ruleIsAfterEBNF x)
let ExpandAlterTest(t : Rule.t<Source.t,Source.t> ) = (correctForAlExp t.body) ==> lazy ( convertToMeta t |> List.forall (fun x -> ruleIsAfterEBNF x))
最佳答案
可能是您添加的前提条件非常严格,因此需要很长时间才能找到合适的值(实际上通过前提条件的值)。 FsCheck 对此进行了强化 - 默认情况下,它会尝试查找 100 个值,但是当它拒绝 1000 个值时,它会放弃并且您应该看到“x 测试后参数耗尽”输出。但这可能需要很长时间,如果生成和检查值需要很长时间。
也可能是您实际上在某处存在错误,例如无限循环。
尝试更改 FsCheck 配置以运行更少的测试,执行详细运行 (verboseCheck),并在调试器似乎挂起时中断它。
关于f# - FsCheck NUnit 。有条件的测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2834710/
我有以下代码: var gen = from x in Arb.Generate() from int y in Gen.Choose(5, 10) where x > 5 select new tu
总结 是否有任何事件可以在每个属性案例之前运行,以便我可以为属性的每次运行运行设置和拆卸? 完整版 我希望能够使用属性测试配对行为,例如“我总是可以获取书面记录”或“readAllLines 的输出等
我的代码在使用 FsCheck 时会自动测试从 -99 到 99 的值。 Check.Quick test 我的测试函数采用整数值。 我想使用 1 到 4999 之间的值进行测试。 最佳答案 您可以使
FsCheck 有一些简洁的默认值 Arbitrary类型来生成测试数据。但是,如果我的一个考试日期取决于另一个考试日期怎么办? 例如,考虑 string.Substring() 的属性结果子字符串永
我似乎经常遇到这样的情况,我想生成一些复杂的结构,但生成的成员类型的特殊变体却不同。 例如,考虑这棵树 type Tree = | LeafNode of 'LeafData | In
我有一个 FsCheck题: 我有以下记录类型(我事先说过,有人告诉我我的单例 DU 可能有点矫枉过正,但我发现它们描述了域,因此是必要的,除非必须,否则我不会删除它们): type Name =
我有一个函数可以在一个范围内生成 double : let gen_doublein = fun mx mn -> Arb.generate |> Gen.suchThat ( (>) mx
我最初尝试创建一个固定前 5 个元素的生成器(并且在使用 Prop.forAll 的任何测试中,前五个总是会运行),但失败了。 现在我试图通过一个范围内的随机数据生成器和一个非随机数据的生成器(即固定
有没有办法通过从每个字符串列表中只选择一个项目然后连接结果来在 FsCheck 中生成一个字符串? 我只是完全卡住了,似乎无法弄清楚。我看过 docs并在 github repo 类似的东西。我从 F
我正在尝试对此功能进行测试 let extract_one_rule (rule:Rule.t) = let rec expand = function |PAlt (a,b)
我想使用 FsCheck(与 XUnit)创建类型的记录:type QueryRequest = {Symbol: string; StartDate: DateTime; EndDate: Date
我设法得到xUnit处理我的小样本组装。现在我想看看我能不能摸索FsCheck也。我的问题是在为我的函数定义测试属性时我很困惑。 也许我只是没有一个好的函数样本集,但是例如,这些函数的好的测试属性是什
是否可以使用 fscheck 生成数据,特别是列表,以便在 fscheck 之外使用?我无法在 fscheck 测试中调试比较结果看起来相等的情况,但 fscheck 说它们不相等。 我有这个对象列表
我正在 VisualStudio 中使用 FsCheck 和 NUnit 进行测试。 当前的问题是:我设法生成随机图(用于测试某些图功能),但是当测试失败时,FsCheck 会吐出整个图,并且它不使用
我想测试一个属性,我使用 2 个概率 p1 和 p2 必须满足 0 ) = (p1 0.0 && p1 0.0 && p2 0) ==> (lazy ( let bf1
我使用 FsCheck 进行基于属性的测试,因此我为自定义类型定义了一组生成器。有些类型由其他类型组成,并且所有类型都有生成器。为字母数字类型定义了一个生成器后,我想为 RelativeUrl 类型定
我正在编写一个 FSCheck 生成器来创建具有以下属性的字符串: 它们是非空的 修剪它们不会影响长度 它们不包含空格。 这是我的生成器代码: namespace Example open FsChe
如何使用 FsCheck 实现多参数生成? 我实现了以下内容以支持多参数生成: // Setup let pieces = Arb.generate |> Gen.filter (isKing
我有这样的递归类型: type QueryInfo = { Title : string Check : Client -> bool Positive :
我正在尝试采用 fscheck,但由于没有太多 C# 文档,所以遇到了很多困难。您能解释一下,为什么以下使用 When 组合器的示例会失败(显然,我不明白如何正确使用它)? [Test] p
我是一名优秀的程序员,十分优秀!