Я хочу знать, есть ли способ прочитать значение атрибута теста? Например
[TestMethod , TestCategory ("Smoke Test"), Priority (1), Owner ("Tester")]
если есть способ получить значение атрибута владельца теста в виде строки, используя c #
Я думаю, TestContext может помочь вам.
var category = (string) TestContext.CurrentContext.Test.Properties.Get("Category");
Я говорю о времени выполнения, в противном случае вы можете использовать this (от tnx до Марк Беннингфилд )
public class Helper { public static TValue GetOwnerAttributeValue<TValue>(MethodBase method, Func<OwnerAttribute, TValue> valueSelector) { return method.GetCustomAttributes(typeof(OwnerAttribute), true).FirstOrDefault() is OwnerAttribute attr ? valueSelector(attr) : default(TValue); } }
Вызывается таким образом
var testMethod = new StackTrace().GetFrame(1) .GetMethod(); var testAuthor = Helper.GetOwnerAttributeValue(testMethod, x => x.Owner);