我设法在mono上编译NaturalSpec,并且正在使用它在MonoDevelop中尝试一个F#库项目。 README测试失败:
module ListSpec
open NaturalSpec
[<Scenario>]
let When_removing_an_3_from_a_small_list_it_should_not_contain_3() =
Given [1;2;3;4;5]
|> When removing 3
|> It shouldn't contain 3
|> Verify
- 发现错误NaturalSpec.Syntax.shouldn't method
未找到。通过should
测试替换它可以纠正这一点。单声道是否存在使用带撇号的方法的问题?编译工作正常,因此可以看到该方法,但在运行时无法找到?
答案 0 :(得分:1)
我最终用Mono 3.0.0从F#3.0和.NET framework 4.5重新编译NaturalSpec,然后对我自己的项目做了完全相同的事情。显然,当您打开NaturalSpec.fsproj时,您将获得.NET 3.5作为默认值。此外,即使使用Mono 3.0.0,默认的F#也是2.0。我从开源代码中单独安装了F#,并在其中指定了fsc和fsi,就像在MonoDevelop中的F#首选项一样。现在我将NaturalSpec作为参考,单元测试在MonoDevelop中正确显示 - 这是在Mono中进行TDD的好方法。