1

我已经设法在单声道上编译 NaturalSpec,并正在使用它在 MonoDevelop 中尝试一个 F# 库项目。自述文件测试失败:

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

4

1 回答 1

1

我最终用 F# 3.0 和 Mono 3.0.0 中的 .NET 框架 4.5 重新编译 NaturalSpec,然后对我自己的项目做同样的事情。显然,当您打开 NaturalSpec.fsproj 时,您会默认获得 .NET 3.5。此外,即使使用 Mono 3.0.0,默认的 F# 也是 2.0。我已经从开源代码 drop 中单独安装了 F#,并从中指定了 fsc 和 fsi,就像在 MonoDevelop 中的 F# 首选项中一样。现在我将 NaturalSpec 作为参考,并且单元测试在 MonoDevelop 中正确显示——这是在 Mono 中执行 TDD 的好方法。

于 2012-11-06T03:18:07.457 回答