2012-11-03 33 views
1

我已經設法在單聲道上編譯NaturalSpec,並試圖在MonoDevelop中使用它的F#庫項目。自述測試失敗:Naturalspec方法與'在名稱上找不到單聲道

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

我剛剛在'fsi'和'fsc'中對名稱中的'''進行了測試並使用了方法 - 在Mono v 2.10.2和fsi v2.0.0.0上 - 所以問題是別的 –

+1

你用的是哪種單聲道版本?可能是你找到了迴歸。 – skolima

+0

單聲道版本3.0.0 – Alexy

回答

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#,並在MonoDevelop中的F#偏好設置中指定了fsc和fsi。現在我將NaturalSpec作爲參考,單元測試在MonoDevelop中正確顯示 - 這是一種在Mono中執行TDD的好方法。

相關問題