我正在尝试设置一个可以运行FsUnit的基本FAKE F#项目,但我无法弄清楚如何解决这些Method not found: 'Void FsUnit.TopLevelOperators.should(Microsoft.FSharp.Core.FSharpFunc`2, !!0, System.Object)'
错误.
我已经阅读了以下似乎相关的帖子,但我显然仍然不喜欢它:
主要的github问题
FSharp.Core包装指南
FsUnit无法测试可移植库(SO)
另一个github问题
我已经JunkTest
使用以下设置创建了一个库项目:
source https://www.nuget.org/api/v2 nuget FAKE nuget FSharp.Core nuget FsUnit nuget NUnit nuget NUnit.Console
FSharp.Core FsUnit NUnit
module JunkTest open FsUnit open NUnit.Framework [] let ``Example Test`` () = 1 |> should equal 1 // this does not work //Assert.That(1, Is.EqualTo(1)) // this works (NUnit)
Target "Test" (fun _ -> !! (buildDir + "JunkTest.dll") |> NUnit3 (fun p -> {p with OutputDir = "TestResults" } ) )
我看到正在从本地packages
目录复制FSharp.Core.dll : Copying file from "c:\Users\dangets\code\exercism\fsharp\dgt\packages\FSharp.Core\lib\net40\FSharp.Core.dll" to "c:\Users\dangets\code\exercism\fsharp\dgt\build\FSharp.Core.dll".
和nunit3-console执行: c:\Users\dangets\code\exercism\fsharp\dgt\packages\NUnit.ConsoleRunner\tools\nunit3-console.exe "--noheader" "--output=TestResults" "c:\Users\dangets\code\exercism\fsharp\dgt\build\JunkTest.dll"
我试图app.config
在测试项目根目录中添加一个带有以下内容的文件,但它似乎没有解决问题(注意我没有使用Visual Studio - 我是否需要为项目做一些特殊的事情来包含app.config
文件?):
任何和所有的帮助表示赞赏.
编辑:解决方案是我没有正确设置App.config
文件以包含在构建中.所有说"只是将其添加到您的App.config
文件" 的答案对我没有帮助,因为VSCode不会fsproj
自动将其添加到文件中.
我添加的部分是:
在ItemGroup
那包含其他
行.