我想知道是否可以读取测试属性值? 例如
[TestMethod , TestCategory ("Smoke Test"), Priority (1), Owner ("Tester")]
如果可以使用c#将测试拥有者属性的值作为字符串获取
答案 0 :(得分:1)
我认为TestContext可以为您提供帮助。
var category = (string) TestContext.CurrentContext.Test.Properties.Get("Category");
我说的是运行时,否则,您可以使用this(从tnx到Mark Benningfield)
答案 1 :(得分:0)
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);