linux 单声道数据处理,Linux中的F#单元测试项目单声道(FAKE,NUnit 3)

我试图在

linux中使用mono设置一个非常简单的测试F#项目,使用

Forge设置项目并安装nuget包. Forge创建一个使用FAKE的build.fsx文件.我试图从本教程

http://fsharp.github.io/FAKE/gettingstarted.html中获得灵感来调整这个构建文件(为了添加测试).然而,该教程使用C#进行测试,并假定Windows为.Net作为环境.我想用F#进行测试,用linux作为环境.

我想我几乎让它工作了,但我从NUnit得到一些神秘的错误信息.运行build.fsx文件时,我得到以下错误:

...

Invalid argument: -nologo

The value '/home/michel/Documents/FSHARP/UnitTests/test/NUnit.Test.MyTests.dll' is not valid for option '--labels'.

Invalid argument: -xml:./test/TestResults.xml

Running build Failed.

Error:

NUnit test Failed (255).

---------------------------------------------------------------------

Build Time Report

---------------------------------------------------------------------

Target Duration

------ --------

Clean 00:00:00.0036366

Build 00:00:00.0402828

BuildTest 00:00:00.4911710

Total: 00:00:00.7494956

Status: Failure

---------------------------------------------------------------------

1) Fake.UnitTestCommon+FailedTestsException: NUnit test Failed (255).

at Fake.NUnitSequential.NUnit (Microsoft.FSharp.Core.FSharpFunc`2 setParams,IEnumerable`1 assemblies) <0x41d27e50 + 0x0039f> in :0

at FSI_0001+clo@32-4.Invoke (Microsoft.FSharp.Core.Unit _arg4) <0x41d27dc0 + 0x0006f> in :0

at Fake.TargetHelper+targetFromTemplate@195[a].Invoke (Microsoft.FSharp.Core.Unit unitVar0) <0x41cd59b0 + 0x00023> in :0

at Fake.TargetHelper.runSingleTarget (Fake.TargetTemplate`1 target) <0x41ccb490 + 0x000ca> in :0

我的build.fsx文件看起来像这样

// include Fake libs

#r "./packages/FAKE/tools/FakeLib.dll"

open Fake

// Directories

let buildDir = "./build/"

let testDir = "./test/"

// version info

let version = "0.1" // or retrieve from CI server

// Targets

Target "Clean" (fun _ ->

CleanDirs [buildDir; testDir]

)

Target "Build" (fun _ ->

//MSBuildDebug buildDir "Build" appReferences

!! "/UnitTesting/*.fsproj"

|> MSBuildRelease buildDir "Build"

|> Log "AppBuild-Output: "

)

Target "BuildTest" (fun _ ->

!! "src/NUnit.Test.MyTests/*.fsproj"

|> MSBuildDebug testDir "Build"

|> Log "TestBuild-Output: "

)

Target "Test" (fun _ ->

!! (testDir + "/NUnit.Test.MyTests.dll")

|> NUnit (fun p ->

{ p with

ToolPath = "packages/NUnit.ConsoleRunner/tools"

//DisableShadowCopy = true;

OutputFile = testDir + "TestResults.xml" })

)

Target "Default" (fun _ -> trace "HEEEELLOOOOOO world from FAKE!!!")

"Clean" ==> "Build" ==> "BuildTest" ==> "Test" ==> "Default"

RunTargetOrDefault "Default"

FAKE似乎正在寻找/ NUnit.ConsoleRunner / tools目录下的文件nunit-console.exe,但是没有这样的文件.但是,有一个nunit3-console.exe文件,所以我只是使用名称nunit-console.exe制作了这个文件的副本.

我的简单测试文件NUnit.Test.MyTests.fs如下所示:

namespace NUnit.Test.MyTests

module testmodule =

open NUnit.Framework

let SayHello name = "Hello"

[]

type myFixture() =

[]

member self.myTest() =

Assert.AreEqual("Hello World!",SayHello "World")

并且文件test / NUnit.Test.MyTests.dll似乎生成得很好.

隐秘的错误消息是什么意思,我该如何修复它以便我可以运行我的测试?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值