Seb*_*ian 5 macos mono f# nunit
我想学习fsharp.所以我在看exercism.io
在他们的自述文件中,他们指示使用Xamarin Studio进行测试 http://exercism.io/languages/fsharp/tests
但我想从终端运行测试.来自练习的练习只包括一个F#文件,例如HelloWorldTest.fs.
回答使用mono/nunit-console/4在Mac OS X控制台上运行测试指示nunit-console使用.csproj或.dll文件运行.但这些文件不存在于练习文件中.所以我不清楚该怎么做.
我用自制软件安装了mono.如何在OSX中从终端运行NUnit测试?
我想出了如何做到这一点:
1.按照https://www.microsoft.com/net/core#macos的说明安装 dotnet
2.在练习运行的文件夹中
dotnet new --lang f#
Run Code Online (Sandbox Code Playgroud)
3.重命名Program.fs为练习的名称,例如HelloWorld.fs
4.更改project.json为
{
"version": "1.0.0-*",
"buildOptions": {
"debugType": "portable",
"emitEntryPoint": true,
"compilerName": "fsc",
"compile": {
"includeFiles": [
"HelloWorld.fs",
"HelloWorldTest.fs"
]
}
},
"dependencies": {
"NUnit": "3.4.1",
"dotnet-test-nunit": "3.4.0-beta-2"
},
"tools": {
"dotnet-compile-fsc": "1.0.0-preview2-*"
},
"frameworks": {
"netcoreapp1.0": {
"imports": "portable-net45+win8",
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.1"
},
"Microsoft.FSharp.Core.netcore": "1.0.0-alpha-160629"
}
}
},
"testRunner": "nunit"
}
Run Code Online (Sandbox Code Playgroud)
这包括nunit依赖性。
注意includeFiles,这应该包括练习的源代码文件和测试文件。例如HelloWorld.fs和HelloWorldTest.fs
5.安装所需的软件包
dotnet restore
Run Code Online (Sandbox Code Playgroud)
6.将代码添加到之前重命名的源文件中,例如HelloWorld.fs
7.最后,通过执行来运行测试
dotnet test
Run Code Online (Sandbox Code Playgroud)