Как получить атрибут Author, если он установлен для уровня TestFixture вместо уровня Test? - PullRequest
0 голосов
/ 30 апреля 2019

Я хочу установить Author для testFixture и получить его во время выполнения, чтобы иметь возможность получить его в моей БД:

Вот класс TestFixture Я установил атрибут Nunit Author для уровня testFixture:

[TestFixture(Author = nameof(AuthorName.Eva)),MachineCategory.Filter]
public class FilterTests : WidiaTestSetup
{  

        [Test, RetryOnFailureOrException]
        public void FilterCuttingDiameter()
        { ...}
} 

Чтобы получить тест Автор с Тест Уровень я делаю:

Author = TestContext.CurrentContext.Test.Properties.Get("Author").ToString()

Но это не работает с testFixture Как я могу сделать это, чтобы получить уровень TestFixture?

Заранее спасибо

Ответы [ 2 ]

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

Доступен в TestContext прибора. Просто сохраните его где-нибудь в методе OneTimeSetUp.

[OneTimeSetUp]
public void GrabTheAuthor()
{
    _fixtureAuthor = TestContext.CurrentContext.Test.Properties.Get("Author").ToString();
}
0 голосов
/ 30 апреля 2019

Хотя это не очень элегантное решение, рефлексия, вероятно, является лучшим выбором.

var author = GetType().CustomAttributes.First().NamedArguments.First(x => x.MemberName.Equals("Author")).TypedValue.ToString();

Я бы посоветовал сделать это в OneTimeSetup, чтобы избежать ненужных затрат на тест.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...