Cake 使用 DotNetCoreTest 运行 Nunit 3 失败

问题描述

Task("Nunit")
.Does(() => {
    DotNetCoreTest("D:\Workspace\Proj14\test\test\WebAutomation\NUnit\UserManageLMTWS.cs",);
    });

目前通过 build.cake 定义任务,如 https://cakebuild.net/api/Cake.Common.Tools.DotNetCore/DotNetCoreAliases/8191BBC4 示例中所列。我没有任何设置,因为我想我正在构建调试而不是发布,但是在运行任务时出现以下错误

Error: Bootstrapping Failed for 'D:/Workspace/Proj14/test/test/Nunit'.
Nunit,line #0: Could not find script 'D:/Workspace/Proj14/test/test/Nunit'.

我需要以某种方式将 NUnit 传递给 DotNetCoreTest 方法吗?

解决方法

DotNetCoreTest 用于测试项目而不是单个文件。

因此您指定 <PROJECT> | <SOLUTION> | <DIRECTORY> 文件,即

  • DotNetCoreTest("./test/Project.Tests/",settings);
  • DotNetCoreTest("./test/My.sln",settings);
  • DotNetCoreTest("./test/Project.Tests/Project.Tests.csproj",settings);

DotNetCoreTest 调用 .NET SDK CLI 命令 dotnet test

您收到的错误是因为指定脚本的路径错误/不存在。没有名为 D:/Workspace/Proj14/test/test/Nunit 的文件,这就是错误消息显示 Could not find script 'D:/Workspace/Proj14/test/test/Nunit'

的原因