我想学习fsharp。所以我在看exercism.io
在他们的自述文件中,他们指示使用Xamarin Studio来运行测试 http://exercism.io/languages/fsharp/tests
但我想从终端运行测试。来自练习的练习仅包括一个F#文件,例如HelloWorldTest.fs
。
此回答Running tests on Mac OS X console using mono/nunit-console/4指示使用nunit-console
或.csproj
文件运行.dll
。但这些文件不存在于练习文件中。所以我不清楚该怎么做。
我使用自制软件安装mono。 如何在OSX中从终端运行NUnit测试?
答案 0 :(得分:0)
您可能必须在命令行上使用xbuild来编译fsproj文件,然后在命令行上也可以使用nunit执行生成的dll。
如果你没有fsproj,你可以直接在文件上使用fsharpc然后调用nunit,记住使用mono来执行nunit。
fsharpc HelloWorldTest.fs
mono nunit-console.exe HelloWorldTest.exe
很抱歉,我无法对此进行测试,但应该是这样的。
答案 1 :(得分:0)
我想出了如何做到这一点:
1。按照https://www.microsoft.com/net/core#macos
所述安装dotnet2. 在练习运行的文件夹中
dotnet new --lang f#
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"
}
这包括nunit
依赖项。
注意includeFiles
,这应该包括练习的源代码文件和测试文件。例如HelloWorld.fs
和HelloWorldTest.fs
5. 通过执行
安装所需的软件包dotnet restore
6. :将您的代码添加到之前重命名的源文件,例如HelloWorld.fs
7。最后,通过执行
运行测试 dotnet test