问题描述
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'