如何在终端上运行Mac上的fsharp测试?

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测试?

Seb*_*ian 0

我想出了如何做到这一点:

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.fsHelloWorldTest.fs

5.安装所需的软件包

dotnet restore
Run Code Online (Sandbox Code Playgroud)

6.将代码添加到之前重命名的源文件中,例如HelloWorld.fs

7.最后,通过执行来运行测试

 dotnet test
Run Code Online (Sandbox Code Playgroud)