Получите доступ к значению настраиваемого атрибута, которое позволяет многократное использование из внутреннего контекста PropertyBag в NUnit.

У меня есть этот настраиваемый атрибут

[AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
public class TestServer : PropertyAttribute
{
    public ServerType Sever { get; set; }
    public TestServer(ServerType server) : base("ServerType", server.ToString())
    {
        this.Sever  = server;
    }
}

Как видно из кода, в одном классе можно использовать несколько атрибутов. Таким образом, когда я собираюсь получить доступ к значению свойства «ServerType» из TestContext.CurrentContext.Test.Properties.Get("ServerType"), он дает мне только одно значение, которое является первым. Но это не значит, что тестовый класс не сохраняет остальных. Я даже могу запустить язык выбора тестов NUnit на основе этих значений, и он даже отображается в «result.xml», который генерируется после запуска теста.

вот раздел .

Кто-нибудь может мне с этим помочь? Я хочу получить доступ к нескольким значениям свойств для одного и того же типа свойства внутри «TestContext».


person Rupanjan Hari    schedule 09.08.2018    source источник


Ответы (1)


Вы должны иметь возможность получить список всех значений, используя нотацию индексатора:

TestContext.CurrentContext.Test.Properties["ServerType"]
person Chris    schedule 09.08.2018
comment
Я нашел это в сводке функций. // Резюме: // Получает одно значение для ключа, используя первое, если присутствует несколько _values ​​// и возвращая null, если значение не найдено. - person Rupanjan Hari; 09.08.2018
comment
@RupanjanHari - Извините - я сделал опечатку в своем первоначальном ответе! Починил это! - person Chris; 09.08.2018
comment
Получил результат вашего ответа. Спасибо - person Rupanjan Hari; 09.08.2018