Как получить доступ к состоянию тестового класса из пользовательского ipaplyTotest-Attribute?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как получить доступ к состоянию тестового класса из пользовательского ipaplyTotest-Attribute?

Сообщение Anonymous »

У меня есть тестовый класс с Testfixturesource с двумя значениями: «единица» и «интеграция». Эти значения являются значениями режима. Основываясь на этом режиме, класс устанавливает зависимости в качестве макетов или реальных реализаций. Некоторые классовые тесты являются реальными для обоих режимов, в то время как другие являются фактическими только для одного из них. Я пытаюсь найти, как пропустить или игнорировать некоторые тесты в зависимости от значения режима. Итак, я хочу сделать что -то вроде следующего < /p>
[TestFixtureSource(nameof(UnitOrIntegration))]
class Tests(string Mode)
{
[SetUp]
void Setup()
{
if (Mode == "Unit") { ... }
if (Mode == "Integration") { ... }
}

[Test] //actual for both modes
void Test1() { ... }

[Test][WhenModeIs("Unit")]
void Test2() { ... }

[Test][WhenModeIs("Integration")]
void Test3() { ... }
}

< /code>
Я нашел что -то, что выглядит, может помочь < /p>
[AttributeUsage(
AttributeTargets.Method,
AllowMultiple = false,
Inherited = false)]
public class WhenModeIsAttribute(string Mode)
: NUnitAttribute, IApplyToTest
{
public void ApplyToTest(Test test)
{
if (/* I need check mode here */)
{
test.RunState = RunState.Ignored;
test.Properties.Set(
PropertyNames.SkipReason,
$"It is not actual for {Mode}");
}
}
}
< /code>
Но я не могу найти способ получить доступ к значению режима. Как это сделать?

Подробнее здесь: https://stackoverflow.com/questions/791 ... -attribute
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»