说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正。
原文: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
支持两种运行模式:
- 控制台:在控制台模式下,
dotnet test
是完全执行被传递给它的任意命令,并输出结果。任何时候你调用dotnet test
没有传递 --port,它运行在控制台模式下,这反过来将导致运行器在控制台模式下运行。 - 设计阶段:在其他工具,比如编辑器或集成开发环境(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 项目中运行测试。