TL;DR有没有与NUnit的--inprocess相当的dotnet testswitch ?

因为以正常VS调试体验(F5)运行dotnet test AS StartProgram确实允许not调试测试.


我们的测试是用NUnit3编写的. 我们目前正在将我们的项目从.NET Framework4.8迁移到.NET 6.

由于通过nunit3-console.exe运行测试并不总是有效的(例如,https://github.com/nunit/nunit-console/issues/1253),我们也正在将 run 者迁移到dotnet test,它目前对我们来说更无缝地工作.

However,我们的开发人员过go 可以自由地以他们想要的方式调试他们的测试.一些人使用VS测试资源管理器,其他人使用普通的VS调试器和"F5",启动设置大约.nunit3-console.exe --inprocess some.test.dll.

现在的问题是,我找不到任何方法从VS图形用户界面中调试从<StartProgram>dotnet test开始的NUnit测试.

我发现:How to debug dotnet test in VS Code?建议设置VSTEST_HOST_DEBUG=1,但(A)您不能使用csproj StartProgram设置env vars,以及(B)它似乎不适用于NUnit.

我想:

  • 在我的NUnit3测试代码中设置断点
  • 从Visual Studio调试器"F5"中将所有测试作为"常规"程序运行
  • 在我的断点进入程序

我可以用nunit-console.exe --inprocess来做这件事--这能用dotnet test来做吗?

推荐答案

但这是不可能的,dotnet test:

不幸的是,即使dotnet test在进程内运行, 第testhost.exe章做你的测试设置VSTEST_HOST_DEBUG只是告诉 testhost.exe等待手动连接调试器.- NPras

因此,这种情况类似于NUnit(控制台运行者)提供/提供的--debug交换机.

Csharp相关问答推荐

Azure DEVOPS找不到定制的Nuget包

在.NET MAUI.NET 8中如何防止按钮点击时出现灰色反馈

ASP.NET核心MVC SqlException:违反主键约束';PK_USER';.无法在对象';数据库中插入重复的密钥.用户';

MSTest--将消息直接写入StdOut和使用TestContext有什么不同?

在implementationFactory中避免循环依赖

源代码生成器项目使用`dotnet build`编译,而不是在Visual Studio中编译?

JSON串行化程序问题.SQLite中的空值

基于C#方法的EF核心过滤查询(缓冲与流)

Visual Studio 17.8.0制表符自动完成问题--三缩进

忽略Visual Studio代码中的StyleCop规则

如何在C#控制台应用程序中获取用户输入并将其作为订单项目进行处理?

Xamarin中出错.表单:应用程序的分部声明不能指定不同的基类

ASP.NET核心中的授权,如何在DbContext启动之前提供租用ID

如何保存具有多个重叠图片框的图片框?

最小API定义的Swagger标头参数

身份验证中间件如何处理多个方案

无法对包含字符串的列进行排序.请与实体框架联接

当我在Git中暂存文件更改时,它们会消失

如何在flutter dart中使用publicKey.xml文件进行rsa加密,我遇到了问题Exception:Could not parse BigInt

C#Web服务转换为 node /Express不工作