我試圖使用unquote與NUnit作爲測試運行器。測試用例從Getting Started拍攝及工務局當外界的NUnit的預期運行:MissingMethodException當使用Unquote斷言
namespace FsTest.Tests
open NUnit.Framework
open Swensen.Unquote
[<TestFixture>]
module Example =
[<Test>]
let foo() =
test <@ (1+2)/3 = 1 @>
在NUnit的,我得到這個異常:
FsTest.Tests.Example.foo:system.missingMethodException而:方法不是 找到: 'System.Tuple
2<Microsoft.FSharp.Collections.FSharpList
1,Microsoft.FSharp.Quotations.FSharpExpr> Internal.reduceFullyAndGetLast(Microsoft.FSharp.Quotations.FSharpExpr)'。
我想知道上面的代碼是否有問題,以及如何使它工作。如果有幫助,Unquote的raise
也會以相同的方式失敗。
你能否澄清一下你的意思是「在NUnit之外運行」和「在NUnit之下」?這個問題看起來與http://stackoverflow.com/q/7828852/236255非常相似,除了使用xUnit.net GUI測試運行器,OP得知他引用了錯誤版本的FSharp.Core.dll –
*「跑到外面NUnit「*表示使用F#Interactive或來自同一解決方案的命令行應用程序; *「在NUnit下」*表示使用庫存NUnit 2.6.2 GUI runner作爲zip文件下載。從測試程序集引用FScharp.Core.dll:''。整個事情是針對.NET 4.5的VS 2012。 –