加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 更改NUnit测试的名称

发布时间:2020-12-15 23:26:04 所属栏目:百科 来源:网络整理
导读:我希望我的基于NUnit框架的单元测试在Visual Studio测试资源管理器中更具人性化. 例如,我最好不要使用Test_Case_1或TestCase1,而是选择Test Case#1,Category:First,Category:Second(通过分配[Category]属性中的值),方法名称中不允许使用空格和字符. 我知道
我希望我的基于NUnit框架的单元测试在Visual Studio测试资源管理器中更具人性化.

例如,我最好不要使用Test_Case_1或TestCase1,而是选择Test Case#1,Category:First,Category:Second(通过分配[Category]属性中的值),方法名称中不允许使用空格和字符.

我知道它在xUnit中可能是开箱即用的,但我无法参与其中,因为我使用的是我无法使用xUnit框架实现的自定义.

是否可以使用NUnit重写单元测试显示名称?到目前为止,我可以看到,TestDetail的FullName字段具有私有设置器.

是否有其他方法或方法更改NUnit测试的显示名称?

解决方法

如果使用参数化测试,则支持此功能,您可以在添加TestCase属性时指定TestName.

如果你没有使用TestCase,那么你可以用它作为一个不太理想的工作来实现你想要做的事情.所以你会像这样声明你的测试:

[TestCase(null,TestName="Test Case #1,Category: First,Category: Second")]
public void TestCase(object ignored)

这不是理想的,因为它不是程序化的,因此您必须手动键入测试名称,而不是从测试方法的属性生成它.您还必须将参数传递给方法,这是被忽略的null和null.当然,您可以开始使用参数化测试,在这种情况下,您将实际值传递给测试.

[TestCase(5,Category: Second")]
public void TestCase(int someInput) {
    Assert.AreEqual(5,someInput);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读