问题标签 [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.
f# - FsUnit.Xunit 列表应该包含一个 x 使得 fx
我不知道如何在FsUnit.Xunit
.
我想检查列表中的至少一个元素是否满足谓词。我知道如何使用 来编写它should be True
,但通常您可以通过使用专门的函数来获得更好的错误消息。
希望这段代码清楚地说明了我想要实现的目标:
f# - F# - (NUnit ApplyTo) 成员匹配多个重载...请将其限制为一个
我正在尝试编写自定义等式约束来比较 2 个对象。
它抱怨是因为 ApplyTo 实现匹配多个重载,我找不到正确的语法。
理想情况下,我喜欢与公司选项进行比较,但仍然只是公司很好。
涉及的类型如下:
并且我正在尝试编写我的等式约束,因为简单的现有equal不能与 Types 正常工作(列表,如果已排序,也总是不同)
如何正确覆盖ApplyTo函数?
unit-testing - 测试功能返回选项
考虑对定义长度受限字符串的模块进行单元测试,作为表示用户名的类型:
确保函数返回None
无效输入的单元测试看起来很简单:
但是,针对函数返回的情况的单元测试Some
似乎需要额外的一行来保证match
表达式的完整性:
这对我来说看起来不对,因为我的测试必须定义代码来测试无论如何都必须产生失败的“不愉快”路径。
我希望我可以写这个
但它不会编译(未定义值或构造函数“用户名”)。
有没有办法编写一个option<T>
不需要明确检查“不愉快”路径(例如| None -> Assert.True(false)
)的函数返回的单元测试?我愿意为UserName
模块添加更多类型和/或功能以使其更易于测试。
.net - FsUnit 显示 F# 类型的两个相同的预期值
当然,下面的两个测试失败了。但为什么错误消息显示两个相同的预期值?有没有办法只显示一个?
myTest
返回Expected: <B> or <B> But was: <A>
myTest2
返回Expected: <{ N = 2 }> or <{ N = 2 }> But was: <{ N = 1 }>
Expected: <B> But was: <A>
这在使用普通 NUnit 时按预期工作(例如)。
当然,在处理更复杂的类型时,这会变得非常糟糕。
测试.cs:
项目文件: