首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单元测试分组“项目,NameSpace,类”被来自TestCase.TestName的点拆卸

单元测试分组“项目,NameSpace,类”被来自TestCase.TestName的点拆卸
EN

Stack Overflow用户
提问于 2021-11-08 12:12:27
回答 1查看 32关注 0票数 0

我确实使用了Test-Explorer,并且对单元测试按“项目、NameSpace、类”进行分组的视图感到很舒服。它在参数化测试中也能很好地工作,我还可以使用TestName来更好地标记/描述。

但是,TestName中的点确实破坏了结构化视图:

我不知道这是Visual Studio还是NUnit的“特性”,但问题是:

有没有可能保留点(可能使用一些转义字符语法)和“项目,NameSpace,类”分组?

代码语言:javascript
复制
[TestFixture]
public class ClassToTest_Fixture
{
    [TestCase("no dots data input", TestName = nameof(string.Replace) + " no") ]
    [TestCase("no dots data input", TestName = nameof(string.Replace) + " dots")]
    [TestCase("no dots data input", TestName = nameof(string.Replace) + " data input")]
    [TestCase("dots data input :( ", TestName = nameof(string.Replace) + "  dots.data input")]
    [TestCase("dots data input :( ", TestName = nameof(string.Replace) + "  dots.data.input")]
    public void TestMethod(object someData)
    {  
    }
}
EN

回答 1

Stack Overflow用户

发布于 2021-11-08 17:42:03

我很抱歉地说,这将是一个答案,它只告诉你为什么会发生坏事。:-)

简单的解决方案:不要设置带有圆点的测试名称!

Visual Studio使用NUnit 3测试适配器提供的信息完全负责显示的外观。该信息基本上是方法的全名和测试用例本身的显示名称。将TestName属性与特性一起使用时,只会更改该显示名称,而不会更改其他名称。

更重要的是,NUnit适配器不知道您要求Visual Studio使用什么分组。因此,它不能通过提供修改后的测试名称来对此作出反应。当然,这正是人们希望在主机和扩展之间进行功能隔离和分离的正常类型。

显然,Visual Studio测试资源管理器正在以某种方式解释测试名称中的点。这可能是一个bug (我想,无论如何),你可以要求他们修复它。在短期内,我会停止使用圆点。:-)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69883266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档