首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义Nunit类别未在测试资源管理器中正确显示

自定义Nunit类别未在测试资源管理器中正确显示
EN

Stack Overflow用户
提问于 2014-05-28 00:04:16
回答 1查看 384关注 0票数 1

我正在尝试为我的测试创建一个自定义类别,这样我们就可以列出测试专门测试的需求。目标:更改需求,或需求命中的一段代码,然后为该需求运行测试。它还可以帮助我们跟踪测试,这样它们就不会重复。(我们有超过400个需求)。

代码语言:javascript
复制
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true, Inherited = false)]
public class RequirementAttribute : CategoryAttribute
{

    protected string requirementName;


    public RequirementAttribute(string name)
    {
        this.requirementName = name.Trim();
    }


    protected RequirementAttribute()
    {
        this.requirementName = this.GetType().Name;
        if (requirementName.EndsWith("Attribute"))
            requirementName = requirementName.Substring(0, requirementName.Length - 9);
    }

    public new string Name
    {
        get { return requirementName; }
    }
}

这是我正在使用的代码,它允许我有一个具有多个需求的测试:

代码语言:javascript
复制
    [Requirement("000124")]
    [Requirement("000382")]
    [Requirement("000612")]
    [Category("Foo")]
    public void TestSomething(){}

这是可行的,但是在Test-Explorer中我看到:

代码语言:javascript
复制
Category[Foo](1) 
Category[000124](1) 
Category[000382](1)
Category[000612](1)

我想看看:

代码语言:javascript
复制
Category[Foo](1)
Requirement[000124](1)
Requirement[000382](1)
Requirement[000612(1)

这个是可能的吗?

EN

回答 1

Stack Overflow用户

发布于 2014-05-28 02:19:19

将Category("Requirement")添加到您的装饰品中应该是可行的:

代码语言:javascript
复制
[Category("Requirement"), AttributeUsage(AttributeTargets.Method, AllowMultiple = true, Inherited = false)]

http://msdn.microsoft.com/en-us/library/system.componentmodel.categoryattribute.aspx

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

https://stackoverflow.com/questions/23894033

复制
相关文章

相似问题

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