gpt4 book ai didi

c# - FsCheck c# When 属性组合器

转载 作者:行者123 更新时间:2023-11-30 23:16:31 24 4
gpt4 key购买 nike

我正在尝试采用 fscheck,但由于没有太多 C# 文档,所以遇到了很多困难。您能解释一下,为什么以下使用 When 组合器的示例会失败(显然,我不明白如何正确使用它)?

 [Test]
public void WherePorperty()
{
Prop.ForAll(NotNullString().ToArbitrary(), s=>s.StartsWith("A").When(s.StartsWith("A"))).VerboseCheckThrowOnFailure();
}

public Gen<string> NotNullString()
{
return Arb.Generate<string>().Where(s => s != null);
}

最佳答案

它实际上并没有真正失败,它只是说“在 n 次测试后参数耗尽”。

当您使用 When 时 FsCheck 跟踪有多少生成的值由于不满足 When 中给出的条件而不得不丢弃。默认情况下,这是 1000 个值。

这表明条件过于严格,生成器不会经常生成满足 When 条件的值。

这只是一种安全网,因此测试时间不会膨胀,或者测试完全停滞不前。

顺便说一句,这在这里解释:https://fscheck.github.io/FsCheck/Properties.html#Conditional-Properties使用 C# 示例。

关于c# - FsCheck c# When 属性组合器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41960956/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com