问题标签 [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 投票
3 回答
9834 浏览

unit-testing - 如何在 VS Code 中调试 dotnet 测试?

本文介绍如何设置 VS Code 设置以将调试目标指向单元测试项目的构建输出。因此,我将我的设置如下:

但是,我不确定如何设置launch.json启动dotnet test它以便它可以附加调试器。

这是我目前所拥有的:

是否有一个选项告诉 VS Code 它需要执行dotnet test而不是dotnet run

我希望这个页面能说明如何做到这一点,但事实并非如此。

0 投票
1 回答
144 浏览

docker - `dotnet test` 捕获弄乱输出的垃圾字符 - 需要删除

期待脚本捕获垃圾字符的类似问题 - 需要删除. 日志和控制台输出包含这些 ANSI 转义序列并与结果输出混淆。很难理解实际过程中发生了什么。我们正在使用 Centos:7 并且dotnet test在 docker 容器中运行。我们正在构建和测试 dotnet 应用程序。所有日志都是可见且完美的,但在dotnet test命令期间我们收到多个垃圾字符,它也弄乱了结果。看起来这些字符还包含使日志从终端开始开始而不清除旧日志的内容,并且还会弄乱日志。

输出

使用or选项dotnet test在 docker 容器中运行时会遇到此问题。如果我们在带有选项的 docker 容器中运行相同的操作,它可以完美地工作,没有任何不需要的字符。--tty-tdotnet test-it

dotnet test我认为在 docker 容器中与--tty选项的组合存在一些问题。

任何帮助和建议将不胜感激。

0 投票
1 回答
5424 浏览

powershell - 为什么 dotnet 测试工具不创建代码覆盖率报告?

我的项目结构如下:

运行我的测试的命令我使用以下输入:

在哪里$folder指向我的 Application.Tests 路径:C:\projects\coredemoapp\CoreDemoApp.Tests$rootC:\projects\coredemoapp\

所有测试都成功运行。但是,问题是coverage.jsoncoverage.opencover.xml没有创建文件。

我也尝试coverlet直接使用以下命令:

,一切都在我的本地机器上运行,具有指向 dll 的显式路径。但是在以前面的命令运行命令的情况下$folder.FullName<path to assembly>coverlet 假定一个调试dll 的路径,而不是它应该的发布版本并且失败。

链接到完整的构建脚本

0 投票
3 回答
5709 浏览

.net-core - 使用模式使用 dotnet test 测试多个项目

我正在编写一个脚本来构建和测试存储库中的项目。现在我正在使用 PowerShell 命令Get-ChildItem -Path test -Filter *.csproj -Recurse | ForEach-Object { dotnet test $_.FullName -c $Configuration }来获取我的测试文件夹中的所有 .csproj 文件并在其中运行测试。但是,我注意到当我运行时,例如,dotnet test test/ProjectA/ProjectA.csproj我收到以下消息:

共有 1 个测试文件与指定的模式匹配。

看到这一点,我认为可以使用一种模式通过一个命令在多个项目中运行测试,但我找不到它的文档或让它工作。当我尝试时,dotnet test test/**/*.csproj我得到:

MSBUILD:错误 MSB1009:项目文件不存在。

0 投票
1 回答
2692 浏览

.net - 'dotnet test' 未在 gitlab-runner 管道中找到 nunit 测试

我有一个NUnit测试项目(Foo.Test)的解决方案。

以下调用用于测试:

dotnet test --no-build -c Release -v n src\%TESTPROJECT%\%TESTPROJECT%.csproj --logger "trx;LogFileName=testreport.trx"

如果我在本地运行它,一切都按预期工作:

在此处输入图像描述

构建服务器上的相同调用未找到任何测试:

在此处输入图像描述

gitlab-ci.yml

有人提示可能出了什么问题?Testproject (Foo.Test.dll) 可用并存在于构建工件中。

0 投票
0 回答
810 浏览

.net - 在未安装完整 SDK 的情况下运行 dotnet 测试

我想在构建服务器上运行一些 nUnit 测试,而不必在那里安装 .NET Core SDK。

测试目标netcoreapp3.1.

对于 .NET Framework,可以使用 .NET 运行它们nunit-console-runner,但对于 .NET Core 似乎不可能 - 请参阅https://stackoverflow.com/a/52854848/532575

如果发现这个问题https://github.com/Microsoft/vstest/issues/1224,但它似乎没有提供任何合理的解决方案。

类似问题:在未安装 SDK 的情况下运行 xUnit 测试

0 投票
3 回答
1772 浏览

c# - 如何解决 dotnet 测试期间的堆栈溢出问题?

首先我的设置:

  • .Net Core 3.1(从 2.2 迁移而来)
  • xUnit 2.4.1
  • xUnit Runner 2.4.1
  • 视觉工作室 2019 16.4.2
  • 测试.SDK 16.4.0

我刚刚从 .Net Core 2.2 迁移到 3.1。我刚刚修复了错误并将我的序列化程序更改为 System.Text。我的应用程序运行良好,但...

注意:我所有的测试都是使用WebApplicationFactory.

我一直在使用 Visual Studio Test Runner 来运行所有测试,但是当我尝试 Run All 时出现错误:

请注意,netcoreapp2.2我在 MyTests 和 MyApp 项目中专门使用 .Net Core 3.1 时很奇怪。

然后我在想“好吧......也许 VS 再次表现得很奇怪我会尝试从控制台运行测试”

现在我在这里。

我发现。但我无法在 Visual Studio 中调试测试以找出导致问题的测试。

每次dotnet test --blame都指责随机测试。

如何找到导致 StackOverflow 异常的原因?

0 投票
2 回答
1338 浏览

.net - Github Actions:将 dotnet 测试结果报告为注释

如果您使用 Azure Pipelines 运行测试,您会在检查选项卡上获得一些很酷的结果。

在此处输入图像描述

有没有办法从 Github Actions 做同样的事情,所以我们不必通过控制台输出?

在此处输入图像描述

0 投票
1 回答
374 浏览

c# - 如何将包含逗号的多值参数传递给 dotnet 命令行工具中的属性?

我想运行一个包含以下内容的命令:

dotnet test /p:Exclude=\"*Test*,*Requirement*\"

以上不是完整的命令,但足以引发解析错误。我在我的 C# 项目中使用 Coverlet NuGet 包,我想排除与这些名称匹配的所有项目。

我在这里这里都读过,将参数括在“转义引号”中应该可以做到,但它不起作用。我得到:

使用常规的非转义引号会给出相同的错误消息:

dotnet test /p:Exclude="*Test*,*Requirement*"

转义逗号会给出相同的错误消息:

dotnet test /p:Exclude=*Test*\,*Requirement*

注意:上面的例子可能不是正确的 Coverlet 语法。这暂时无关紧要。我只想能够将逗号分隔的值列表传递给一个参数。就目前而言,dotnet 在到达 Coverlet 之前很久就拒绝了我的语法。

我正在从 PowerShell 运行命令。

0 投票
2 回答
3335 浏览

azure-devops - Azure Devops - 如何将环境变量传递给 dotnet 测试?

我在 Azure Devops 上有一个标准的 .NET Core (Ubuntu) 管道,在我的测试项目中,我使用环境变量。在我的管道中,我已经像这样定义了我的组变量

每当我为我的项目运行测试时

实际的环境变量没有传入。它们是空白的。

我缺少什么来运行它?我什至在编辑管道页面中也定义了变量,但没有运气

谢谢!