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'

的原因

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...