2016-10-05 126 views
5

我想學習fsharp。所以,我在看exercism.io如何在終端上在Mac上運行fsharp測試?

在他們的自述,他們指示使用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文件。但這些文件不存在於練習文件中。所以我不清楚該怎麼做。

我已經安裝使用自制軟件的單聲道。 如何在OSX中從終端運行NUnit測試?

+0

的可能的複製運行試驗[使用運行Mac OS X控制檯上的測試單聲道/ NUnit控制檯/ 4](http://stackoverflow.com/questions/33828340/running-tests- on-mac-os-x-console-using-mono-nunit-console-4) –

+1

不幸的是,答案似乎是缺少步驟或不適用於這種特殊情況。 – Sebastian

回答

0

我想通了,如何做到這一點:如描述https://www.microsoft.com/net/core#macos

2.在運動時運行

dotnet new --lang f# 

3的文件夾

安裝DOTNET。將名稱改爲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.fsHelloWorldTest.fs

5.

dotnet restore 

6.你的代碼添加到以前已重命名源文件例如安裝所需的軟件包HelloWorld.fs

7。 Finallly,通過這樣做

dotnet test 
0

您可能必須在命令行上使用xbuild來編譯fsproj文件,然後才能在命令行上使用nunit執行生成的dll。

如果你沒有fsproj,你可以直接在文件上使用fsharpc然後調用nunit,記住使用mono來執行nunit。

fsharpc HelloWorldTest.fs

mono nunit-console.exe HelloWorldTest.exe

對不起我不是在一個位置進行測試,但應該是這樣的。

相關問題