1

テスト用のカスタム カテゴリを作成しようとしているので、テストが具体的にテストしている要件を一覧表示できます。目標: 要件、または要件に一致するコードのセクションを変更し、その要件のテストを実行します。また、重複しないようにテストを追跡するのにも役立ちます。(400 以上の要件があります)。

[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; }
    }
}

これは私が使用しているコードです。これにより、複数の要件でテストを行うことができます。

    [Requirement("000124")]
    [Requirement("000382")]
    [Requirement("000612")]
    [Category("Foo")]
    public void TestSomething(){}

これは機能しますが、Test-Explorer では次のように表示されます。

Category[Foo](1) 
Category[000124](1) 
Category[000382](1)
Category[000612](1)

見たい:

Category[Foo](1)
Requirement[000124](1)
Requirement[000382](1)
Requirement[000612(1)

これは可能ですか?

4

1 に答える 1

0

装飾に Category("Requirement") を追加すると動作するはずです:

[Category("Requirement"), AttributeUsage(AttributeTargets.Method, AllowMultiple = true, Inherited = false)]

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

于 2014-05-27T18:19:19.107 に答える