【问题标题】:Can't get OpenCover to work in fake无法让 OpenCover 假冒工作
【发布时间】:2017-05-13 15:45:13
【问题描述】:

已编辑以显示 Fyodor 指出的忽略返回以及由此产生的错误

我有一个 .fsx 文件,其中包含多个按预期工作的目标,但我无法让 OpenCover 工作的目标。这就是我的目标代码:

Target "Coverage" (fun _ ->
  OpenCover
    (fun p -> { p with ExePath   = "./packages/OpenCover.4.6.519/tools/OpenCover.Console.exe"
                   TestRunnerExePath = "./packages/Machine.Specifications.Runner.Console.0.10.0-Unstable0005/tools/mspec-clr4.exe"
                   Output = reportDir + "MspecOutput.xml"
                   Register = "-register:user"
          }
    )
    testDir @@ "FakeTest2UnitTesting.dll" + "--xml " + reportDir + "MspecOutput.xml"  |> ignore
)

但我现在收到以下构建错误:

build.fsx(45,3):错误 FS0039:未定义值或构造函数“OpenCover”。也许你想要以下之一: OpenCoverHelper 无盖

我不知道我做错了什么。有人可以告诉我如何使用来自FAKE API 的 OpenCoverHelper 吗? 谢谢

【问题讨论】:

  • 函数OpenCover返回一个字符串(我假设它包含输出),你没有用它做任何事情。您需要记录或明确忽略。

标签: f# f#-fake


【解决方案1】:

经过大量的谷歌搜索,我终于想出了解决方案。基本问题是我没有打开OpenCoverHelper。我假设它包含在 FAKE 中,就像它在 Api 中一样,并且没有文档说明其他任何内容。所以,这是我使用的代码:

// include Fake lib
#r @"packages/FAKE.4.61.2/tools/FakeLib.dll"
open Fake
open Fake.OpenCoverHelper

Target "Coverage" (fun _ ->
  OpenCover (fun p -> { p with 
                          ExePath = "./packages/OpenCover.4.6.519/tools/OpenCover.Console.exe"
                          TestRunnerExePath = "./packages/Machine.Specifications.Runner.Console.0.10.0-Unstable0005/tools/mspec-clr4.exe"
                          Output = "./report/MspecOutput.xml"
                          Register = RegisterUser
                      })
   "./test/FakeTest2UnitTesting.dll + --xml ./report/MspecOutput.xml" 

)

希望这对将来的某人有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-23
    • 2014-12-26
    • 2017-12-22
    • 2012-02-28
    • 2015-12-01
    • 2012-01-29
    • 2014-12-16
    相关资源
    最近更新 更多