问题标签 [dotnet-test]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1854 浏览

.net - dotnet 测试失败时中断 PowerShell 脚本

在一个小的 PowerShell 构建脚本中,我构建并测试了一个 .NET 应用程序。

如果测试导致一个或多个失败,我现在想阻止脚本中的进一步步骤。

我试图得到这样的测试结果:

但不幸的是它没有返回指示成功的退出代码我只是得到了测试测试描述。

有没有更好的方法然后解析失败的测试计数的字符串输出?

0 投票
3 回答
2076 浏览

visual-studio-code - 如何在 VSCode 中调试我的测试 .Net Core 2.0

我正在寻找一种在 VSCode 中调试我的测试 (mstest) .Net Core 2.0 的方法?

我什么也没找到。

谢谢!

0 投票
2 回答
19242 浏览

asp.net-core - dotnet test 未创建测试结果文件夹

作为ASP.NET Core 2.0构建过程的一部分,我添加了一个dotnet test命令,我已将其添加为 Windows 批处理文件。

这是我的命令。

这是从命令行运行时的输出。

在此处输入图像描述

所以这一切似乎都正常工作,但没有创建测试结果/测试输出。

0 投票
1 回答
1317 浏览

unit-testing - .NET Core XUnit 测试项目错误:活动测试运行已中止。原因:.2.0.3545

尝试执行我的 .NET Core 2.0.0 XUnit 测试项目时出现错误...

错误

使用 Visual Studio 和dotnet test命令

配置

[项目].Tests.csproj

完全相同的配置在其他项目中完美运行。

难道我做错了什么?

0 投票
4 回答
1695 浏览

continuous-integration - 如何使用自定义 NuGet 提要在 VSTS 上运行 dotnet 测试?

我们有一个项目依赖于自定义 NuGet 提要(也托管在 VSTS 中)。

我正在尝试组合一个新阶段来生成代码覆盖率报告,就像在这篇博文中一样。我的新阶段如下所示:

新阶段截图

并由以下步骤组成:

  1. .NET Core 工具安装程序 - 使用 SDK 2.0.0
  2. dotnet restore在“使用此 VSTS/TFS 提要中的包”下拉菜单中选择了我的自定义提要
  3. dotnet test使用相关参数收集代码覆盖率
  4. 使用 ReportGenerator 的自定义步骤
  5. 发布结果的步骤

问题是dotnet test坚持尝试恢复包本身。由于我找不到告诉它使用自定义提要的方法,因此在尝试恢复这些包时失败:

D:\a\1\s\MyProject\MyProject.csproj : error NU1101: Unable to find package My.Package. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages, nuget.org

我的主要构建过程运行良好,并且能够从自定义提要中恢复包。不同之处在于使用 Visual Studio(即 not dotnet)版本的命令:

主要构建过程的屏幕截图

处理这个问题的正确方法是什么?

我需要找到一些方法来讲述dotnet test我的自定义提要吗?

或者(鉴于我restore之前正在运行)我是否需要说服它完全跳过恢复?

0 投票
1 回答
1628 浏览

nunit - 为.net core 2.2项目运行“dotnet test”时如何将“workers”参数传递给nunit runner

目前,对于我们的 selenium UI 测试,我们正在读取可用的 selenium 服务器浏览器来决定我们将运行我们的测试的线程数,并且我们在启动 nunit 控制台运行程序时传递“workers”参数。

我现在正在将我们的自动化迁移到 .net 核心。不幸的是,nunit 控制台还不支持 .net 核心,我们现在使用“dotnet test”命令运行测试,它仍然运行 nunit 测试。

我搜索了很多,但找不到如何将“workers”参数传递给 nunit?线程的“dotnet test”还有其他参数,但它们不允许您使用比 cpu 内核更多的线程运行。请注意,我不想硬编码 assemblyInfo 中的线程数,因为我们经常在每次运行时使用不同数量的线程,具体取决于运行测试的 selenium 服务器。

我在运行测试命令时尝试使用 .runsettings 设置文件,但似乎也没有检测到该参数。我最终得到的是一个线程与机器上的 cpu 核心数相等的测试运行,但我需要比这更多的线程。

版本:

  • .net 核心 2.2
  • NUnit 3.11
  • NUnit3TestAdapter 3.12
0 投票
1 回答
743 浏览

.net-core - 对象引用未设置为具有 Coverlet dotnet 核心的实例

我最近dotnet add package coverlet.msbuild按照本指南通过 dotnet core CLI(命令:)安装了 Coverlet 2.6.0:https ://dev.to/deinsoftware/net-core-unit-test-and-code-coverage-with-visual -studio-code-37bp但是我在运行第一个命令时遇到了问题:

dotnet test /p:CollectCoverage=true

当我在我的 dotnet 核心应用程序的根目录中运行它时,我收到以下错误:

C:\Users\me\.nuget\packages\coverlet.msbuild\2.6.0\build\netstandard2.0\coverlet.msbuild.targets(35,5):错误:对象引用未设置为对象的实例。[C:\Users\me\..\myproj.csproj] C:\Users\me\.nuget\packages\coverlet.msbuild\2.6.0\build\netstandard2.0\coverlet.msbuild.targets(35,5 ):错误:在 /Users/toni/Workspace/coverlet/src/coverlet.msbuild.tasks/CoverageResultTask.cs 中的 Coverlet.MSbuild.Tasks.CoverageResultTask.Execute():第 67 行 [C:\Users\me..\ myproj.csproj]

我尝试了以下方法无济于事:

  • 关闭并重新打开 powershell
  • 运行dotnet builddotnet restore
  • 在我的所有 .csproj 文件中添加对 Coverlet 包的包引用(尽管它抱怨的那个已经有它的引用,我假设它是从安装时开始的)

我真的很难过如何让它工作,所有其他指南似乎都没有问题。我的项目正在运行 .NET Core 2.2。

编辑 [20/05/2019]

我设法通过使用 Visual Studio 安装对 Coverlet 的引用而不是纯粹使用 CLI 来完成这项工作。我不确定这是否特定于我的(Windows)计算机,但我想我会在这里提到它,以防其他人遇到同样的事情。

0 投票
1 回答
741 浏览

.net - 如何合并两个或多个 dotnet 测试代码覆盖率文件

我有一个 .Net 解决方案,其中包含两个 dotnet 核心类库及其相关的单元测试项目。

当我运行dotnet test **\*.Tests.csproj --collect "Code Coverage"命令时,它会为每个单元测试项目生成单独的 .coveragexml 文件。

我的要求是将所有 .coveragexml 文件合并到一个文件中,并使用它来获取整个解决方案的总覆盖率矩阵。

是否有任何工具或脚本来实现这一点?

笔记:

  • 我没有使用 Coverlet。
  • 我正在使用内置的 vstest.console.exe 来运行测试并生成 .coveragexml 文件。
  • 我正在使用自定义代码覆盖率分析
0 投票
0 回答
38 浏览

c# - 是否可以在 SonarQube 中添加单元测试项目的覆盖率报告和代码分析?如果是这样,我应该如何在 SonarQube 中配置它们?

我想在 SonarQube 中为我的 UnitTest 项目添加代码覆盖率报告和代码分析。

我曾尝试在“sonar.test.inclusions”下添加测试文件,但源文件没有显示任何代码覆盖率,也没有代码气味

项目代码覆盖率报告

0 投票
1 回答
684 浏览

c# - 在 Linux 上,Dotnet 测试忽略过滤器

我正在使用 xunit,在我的一些测试中设置了 trait 属性。运行 dotnet test 时,我试图按这些特征进行过滤。我让它在我的 Windows 机器上本地运行良好,但是当我在我的 CI 容器上运行相同的命令时,它不会过滤我的测试。

命令是:

dotnet test --filter Category=Integration

我在容器中使用 CircleCImcr.microsoft.com/dotnet/core/sdk:2.2

当我通过 SSH 连接到盒子并尝试运行命令时,它只会运行所有测试。

dotnet --info从容器: