问题标签 [fscheck]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
951 浏览

unit-testing - Difficulty thinking of properties for FsCheck

I've managed to get xUnit working on my little sample assembly. Now I want to see if I can grok FsCheck too. My problem is that I'm stumped when it comes to defining test properties for my functions.

Maybe I've just not got a good sample set of functions, but what would be good test properties for these functions, for example?

0 投票
1 回答
572 浏览

f# - FsCheck NUnit 。有条件的测试

我正在尝试对此功能进行测试

使用 FsCheck 所以我有这个

但我会看到异常“替代扩展的树不正确!” 但是当我这样使用时

NUnit 不会停止工作 为什么会这样?

0 投票
2 回答
1620 浏览

f# - 在 FsCheck 中,如何生成非负字段的测试记录?

在 F# 中,我有一个包含几个字段的记录:

我正在使用 FsCheck 来测试一些使用此记录的属性。对于(一个人为的)示例,

由于myFunction的内部实现限制,我想让 FsCheck 创建测试用例,其中每个字段 a、b、c 都限制为非负浮点数。

我怀疑这需要为myRecord创建一个生成器,但我无法找到任何有关如何执行此操作的示例。

任何人都可以提供指导吗?

0 投票
2 回答
818 浏览

f# - FSCheck 生成特定大小的列表

可能是一个愚蠢的问题,但是如何为 FSCheck 生成特定大小的列表?

我可以限制使用:

但是,显然,这会丢弃大量列表。

这里仅对fn_of_2长度列表进行一些测试2并返回trueor false

0 投票
3 回答
2080 浏览

f# - 使用 FSCheck 生成器

我有一个函数可以在一个范围内生成双打:

然后是一个生成其中 2 个数组的函数:

我放:

在生成器类中并注册它。一切似乎都很好。为了测试这一切都可以,我有:

然后使用数组生成器'arrayOfLength':

可以按预期工作,但是:

刚开始做一些计算,再也没有回来。f# 大师请帮忙。

0 投票
2 回答
1060 浏览

.net - FsCheck 和 NUnit 集成

我想将 FsCheck 测试与 NUnit 测试集成。具体来说,当我声明几个 FsCheck 属性时,我希望它们在 VS 运行程序中是可见和可运行的。我在 FsCheck 旁边找到了以下关于 xUnit 使用的描述(在“实现 IRunner 以将 FsCheck 与 mb|x|N|cs|Unit 集成”下),但这不是我想要的。有没有办法做到这一点?

0 投票
1 回答
1266 浏览

f# - 如何使用 fscheck 生成数据?

是否可以使用 fscheck 生成数据,特别是列表,以便在 fscheck 之外使用?我无法调试 fscheck 测试中看起来比较结果相等的情况,但 fscheck 说它们不是。

我有一个对象列表的生成器。如何生成可以从此生成器使用的列表?

0 投票
0 回答
225 浏览

.net - 在 VS 2010 中使用 FsCheck

我正在尝试在 Visual Studio 2010 中为 F# 使用 FsCheck 0.8.3。我创建了一个项目,并编写了示例行:

从快速入门指南。在此之后,我将 FsCheck.dll 添加到引用中,并且

在顶部。

跑步时,我收到

未定义命名空间或模块“FsCheck”

如果答案很明显,请原谅我,但我很新,不明白为什么这不起作用。

0 投票
0 回答
322 浏览

testing - 使用 FsCheck 时的异常

使用 xUnit 运行 FsCheck 中最简单的测试

我收到异常

我试图捕捉异常并调试,但发生在之前有人知道如何解决这个问题吗?

重现方式:

  • 做一个新项目
  • 安装 FsCheck.xUnit NUget
  • 将该代码放入 fs 文件中
  • 运行测试
0 投票
0 回答
365 浏览

.net - 多个环境中的程序集重定向/例如,对于 F# 4.0.0.0

我收到了一台新机器,并认为插入一些机器范围的重定向只适用于我的 FsCheck 测试,就像在我以前的机器上一样。

事实并非如此,我收到了 与旧机器上类似的错误,所以我知道这是 FsCheck 加载 F# 4.X 而我的测试绑定到其他一些版本 4.Y

启用 FusionLog 后,重新启动以激活该野兽,为所有绑定启用 fusionlog,重新启动。我在日志中找到了罪魁祸首:

装配管理器加载自:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll 在可执行文件下运行 C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 11.0\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\TESTWINDOW\vstest.executionengine.x86 。可执行程序

=== 预绑定状态信息 ===

日志:DisplayName =FSharp.Core,版本 = 4.0.0.0,文化 = 中性,

调用程序集:FsCheck.Xunit,Version=0.3.0.0,Culture=neutral,PublicKeyToken=null。

我对绑定不太熟悉,但是:

  • 为什么 fscheck 在运行测试之前没有抱怨它找到正确的 dll 而不是在运行时崩溃。我有兴趣知道什么是处理此类问题的优雅方式

  • 如果 fscheck 不兼容,为什么要尝试加载版本 4.0.0.0。再次尝试理解我必须缺少的东西,因为这听起来很明显。我想这不是支持 4.X VS 4.Y 的问题,而是更多的“跑步者”被绑定到 4.X 而 fscheck 被绑定到 4.Y(是吗?在这种情况下,什么会阻止'重用'第一个绑定?)

  • 为什么我的机器范围的重定向被忽略了。我想它的优先级低于任何其他本地配置文件,但 dotnet 框架不应该在解决之前的某个阶段对其进行调查。


显然我添加了以下内容以vstest.executionengine.x86.exe.config避免 4.0.0 绑定,但我仍然对我的无知和我们的“框架”的变幻莫测所引起的变迁感到困惑: