Есть ли способ прочитать значение атрибута теста, например [Owner = "Tester"] с помощью c # - PullRequest
0 голосов
/ 09 апреля 2019

Я хочу знать, есть ли способ прочитать значение атрибута теста? Например

[TestMethod , TestCategory ("Smoke Test"), Priority (1), Owner ("Tester")]

если есть способ получить значение атрибута владельца теста в виде строки, используя c #

Ответы [ 2 ]

1 голос
/ 09 апреля 2019

Я думаю, TestContext может помочь вам.

var category = (string) TestContext.CurrentContext.Test.Properties.Get("Category");

Я говорю о времени выполнения, в противном случае вы можете использовать this (от tnx до Марк Беннингфилд )

0 голосов
/ 10 апреля 2019
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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...