一个NaturalSpec方法,在Mono上找不到名字

时间:2012-11-03 06:38:49

标签: f# mono monodevelop

我设法在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测试替换它可以纠正这一点。单声道是否存在使用带撇号的方法的问题?编译工作正常,因此可以看到该方法,但在运行时无法找到?

1 个答案:

答案 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的好方法。