当前位置:  开发笔记 > Android > 正文

F#如何设置可以使用FsUnit的FAKE项目

如何解决《F#如何设置可以使用FsUnit的FAKE项目》经验,为你挑选了0个好方法。

我正在尝试设置一个可以运行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使用以下设置创建了一个库项目:

paket.dependencies

source https://www.nuget.org/api/v2
nuget FAKE
nuget FSharp.Core
nuget FsUnit
nuget NUnit
nuget NUnit.Console

paket.references

FSharp.Core
FsUnit
NUnit

JunkTest.fs

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)

build.fsx(相关部分)

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那包含其他行.

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有