EDITED显示由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 NCover
我不知道自己做错了什么。有人可以告诉我如何使用FAKE API中的OpenCoverHelper吗? 感谢
答案 0 :(得分: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"
)
希望这将有助于将来的某些人。