我正在尝试为我的测试创建一个自定义类别,这样我们就可以列出测试专门测试的需求。目标:更改需求,或需求命中的一段代码,然后为该需求运行测试。它还可以帮助我们跟踪测试,这样它们就不会重复。(我们有超过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)这个是可能的吗?
发布于 2014-05-28 02:19:19
将Category("Requirement")添加到您的装饰品中应该是可行的:
[Category("Requirement"), AttributeUsage(AttributeTargets.Method, AllowMultiple = true, Inherited = false)]http://msdn.microsoft.com/en-us/library/system.componentmodel.categoryattribute.aspx
https://stackoverflow.com/questions/23894033
复制相似问题