『.NET Core CLI工具文档』(十一)dotnet-test

888 查看


图片来自网络/图文无关

说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正。
原文:dotnet-test
翻译:dotnet-test

名称

dotnet-test - 使用配置的测试运行器运行单元测试

概要

dotnet test [--configuration] [--output] [--build-base-path] [--framework] [--runtime] [--no-build] [--parentProcessId] [--port] [<project>]

描述

dotnet test 命令是用于在给定的项目执行单元测试。单元测试是依赖关系于单元测试框架(例如:NUnit 或 xUnit)的类库项目,并且该单元测试框架是用于 dotnet 测试运行器。

测试项目需要在 project.json 中使用“testRunner”节点指定一个的测试运行器属性。这个值应该包含单元测试框架的名称。

下面示例 project.json 展示需要的属性:

{
  "version": "1.0.0-*",
  "buildOptions": {
    "debugType": "portable"
  },
  "dependencies": {
    "System.Runtime.Serialization.Primitives": "4.1.1",
    "xunit": "2.1.0",
    "dotnet-test-xunit": "1.0.0-rc2-192208-24"
  },
  "testRunner": "xunit",
  "frameworks": {
    "netcoreapp1.0": {
      "dependencies": {
        "Microsoft.NETCore.App": {
          "type": "platform",
          "version": "1.0.0"
        }
      },
      "imports": [
        "dotnet5.4",
        "portable-net451+win8"
      ]
    }
  }
}

dotnet test 支持两种运行模式:

  1. 控制台:在控制台模式下,dotnet test 是完全执行被传递给它的任意命令,并输出结果。任何时候你调用 dotnet test 没有传递 --port,它运行在控制台模式下,这反过来将导致运行器在控制台模式下运行。
  2. 设计阶段:在其他工具,比如编辑器或集成开发环境(IDEs)的上下文中使用。你可以在 dotnet-test protocol 找到更多关于这个模式的文档。

选项

[project]

指定要测试项目的路径。如果省略,则默认为当前目录。

-c, --configuration [Debug|Release]

用于生成下的配置。默认值是 Release。

-o, --output [DIR]

找到二进制运行的目录。

-b, --build-base-path [DIR]

临时输出的目录。

-f, --framework [FRAMEWORK]

查看测试二进制文件的指定框架。

-r, --runtime [RUNTIME_IDENTIFIER]

查看测试二进制文件的指定运行时。

--no-build

没有生成之前,运行它的测试项目。

--parentProcessId

通过 IDEs(集成开发环境)指定进程的 ID。如果父进程已经处理了,测试将退出。

--port

通过 IDEs(集成开发环境)指定端口号来侦听连接。

例子

dotnet test

在当前目录中的项目运行测试。

dotnet test /projects/test1/project.json

在 test1 项目中运行测试。

参考