【发布时间】:2014-06-02 17:21:24
【问题描述】:
当我使用 NUnit 2.6.3 运行这个 FsUnit 测试时,
let f xs = Some (List.map ((+) 2) xs)
[<Test>]
let test() =
f []
|> should equal (Some [])
我明白了:
Result Message:
Expected: <Some([])>
But was: <Some([])>
Result StackTrace:
at FsUnit.TopLevelOperators.should[a,a](FSharpFunc`2 f, a x, Object y)
即使消息中的 Expected 和 Actual 相同,测试也会失败。发生了什么?
【问题讨论】:
-
这看起来像 FsUnit 修改了
=的语义 - 运行等效代码但使用=而不是should equal返回您所期望的。 -
见stackoverflow.com/questions/5667372/… - 取消引用总是符合我的意思,除此之外还有更多