问题标签 [fsunit]

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 投票
2 回答
704 浏览

f# - FsUnit 和检查浮点数的相等性

我开始使用 FsUnit 来测试 F# 代码。它使得以 F# 风格表达断言成为可能,例如:

注意我从 FsUnit 得到的“应该等于 23”。下面是 FsUnit 的定义:

让等于 x = new EqualConstraint(x)

使用浮点数并不是那么简单。我必须将 EqualConstraint 与 Within 方法一起使用。它自然适合 C#:

当然,我希望能够用 F# 编写:

但这不起作用。我最终定义了一个新函数:

或者如果我想参数化精度,我可以将其指定为第二个参数:

但没有一个是漂亮的。我想以更自然的方式为 F# 定义“内部”函数,因此它可以与 equal 一起使用。F# 不支持方法重载,所以看起来我无法以这种方式定义它,因此“equal”可以单独使用,也可以与“within”一起使用。

有任何想法吗?

0 投票
1 回答
1099 浏览

unit-testing - 从 Visual Studio 运行 fsUnit 测试

所以我在 Visual Studio 中编写了我的第一个 fsUnit 测试。它只是 NUnit 框架的扩展,我一直在使用 NUnit 在 C# 中进行 TDD。在用 c# 编写测试时,我可以从 Visual Studio 运行测试但我无法从 VS 运行 f# 测试。为什么是这样 ?是否有任何其他工具可用于(外部)运行测试?

0 投票
3 回答
2823 浏览

unit-testing - 哪些单元测试框架可用于 F#

我正在专门寻找允许我利用该语言独特功能的框架。我知道FsUnit。你会推荐别的东西吗,为什么?

0 投票
2 回答
1778 浏览

f# - 比较受歧视的工会

我是 F# 的新手,我正在玩 FParsec。我会使用 FParsec 来生成 AST。我想使用 FsUnit 围绕解析器的各个部分编写一些测试,以确保正确运行。

我在语法上遇到了一些问题(抱歉,确切的代码正在工作,我可以稍后发布一个具体示例)那么究竟如何比较两个有区别的联合(一个是预期的,另一个是实际结果)?有人可以提供一个使用 FsUnit(或 NUnit)的小代码示例吗?

判别联合的例子(很简单)

0 投票
2 回答
512 浏览

f# - 使用 FsUnit 制作测试类时,[] 不是成员的有效属性。为什么?

我正在摆弄一个新的 F# 项目(我没有做过很多),我的目标是以 TDD 的方式来做。因此,我正在尝试熟悉使用 FsUnit,因为我在 C# 项目中使用 NUnit 有很多经验,而且它似乎是一个非常常用的框架。

我的代码如下所示:

据我所知,这遵循 FsUnit 主页 ( http://fsunit.codeplex.com/ ) 上的示例,但编译器告诉我这[<Test>]不是该语言元素的有效属性,我假设它指会员。

关于我在这里做错了什么的任何提示?

谢谢!

0 投票
1 回答
930 浏览

f# - 用 FsUnit 断言一些

我正在尝试检查我的函数是否返回Some(x)

都行不通。我宁愿不使用:

有人知道这样做的方法吗?

0 投票
1 回答
187 浏览

f# - How do I stop my FSUnit tests using F# full syntax

We are using the wonderful FSUnit for our unit testing. This works fine, except the bodies of our tests insist on using full F# syntax (with 'in' at the end of each line etc.) instead of #light syntax. For example:

Note the 'in' at the end of the first line of the test. Without that, the test won't compile - which is fine for short tests but is becoming a pain for longer test methods. We've tried adding an explicit #light in the source but that seems to make no difference. This is part of a large project with many modules, all of which - other than the test modules - are happily using light syntax (without any explicit #light). What's triggering full syntax in the test modules?

0 投票
2 回答
515 浏览

f# - FsUnit 示例错误

我从 FsUnit项目页面复制了这个示例:

F# 给我以下错误:

错误 2 此表达式应为 bool 类型,但此处为 Constraints.EqualConstraint

错误 1 ​​'bool' 类型与 'Constraints.Constraint' 类型不兼容

我究竟做错了什么?

0 投票
1 回答
496 浏览

unit-testing - 列出 FsUnit 中的成员相等性

我想检查两个列表是否具有相同的成员,无论顺序如何:

目前,我在测试中使用它如下:

但是,这对于错误报告来说并不那么好。

我可以扩展 FsUnit 以添加memberEquals类似于equalsorcontains吗?或者,我可以总是在比较它们之前对列表进行排序。这里最好的方法是什么?

(我将 FsUnit 与 nUnit 一起使用,值得。)

0 投票
2 回答
700 浏览

f# - F# 项目中的 FsUnit、NUnit 引用

我在 Visual Studio 2012 中有一个解决方案。它包括两个用于测试的项目,一个在 F# 中,一个在 C# 中。我已将 NUnit 和 FsUnit 安装为 Nuget 包。安装后,对这些程序集的引用指向在我的解决方案内的文件夹中dll找到的 ' 。\packages\编译解决方案后,F# 项目中的引用发生变化,并指向安装在我的C:\Program Files (x86)\文件夹和\bin\Debug\FsUnit.NUnit.dll我的 F# 项目中的 NUnit。在 C# 项目中,引用一直指向包文件夹。

该项目在 Visual Studio 中构建,测试运行良好。当我在 TeamCity 中构建它时,它失败了,因为它在 F# 项目中找不到 NUnit 和 FsUnit。

任何想法为什么我编译时参考会发生变化?

此外,与 C# 项目中的属性相比,为什么 F# 项目中引用的属性包含的信息要少得多?