Создайте пользовательский атрибут FastTest, который наследуется от TimeoutAttribute. Этот атрибут затем будет влиять на свое собственное соглашение по именованию категорий. Примерно так должно работать
public class FastTestAttribyte :TimeoutAttribute
{
protected string categoryName;
public FastTestAttribyte (int timeout):base(timeout)
{
categoryName = "FastTest";
}
public string Name { get return categoryName; }
}
Редактировать
Это будет работать, если вы декомпилируете атрибут, вот что он делает
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class | AttributeTargets.Assembly, AllowMultiple=true, Inherited=true)]
public class CategoryAttribute : Attribute
{
// Fields
protected string categoryName;
// Methods
protected CategoryAttribute()
{
this.categoryName = base.GetType().Name;
if (this.categoryName.EndsWith("Attribute"))
{
this.categoryName = this.categoryName.Substring(0, this.categoryName.Length - 9);
}
}
public CategoryAttribute(string name)
{
this.categoryName = name.Trim();
}
// Properties
public string Name
{
get
{
return this.categoryName;
}
}
}
Я думаю, что Nunit будет использовать отражение для свойства Name атрибута.