Я новичок в автоматизации и работаю с фреймворком, в котором они переименовали / настроили атрибуты Fact и Theory для теста xunit. Ну, они только Pass не работают, и я тоже хотел запустить Предупреждение. Итак, я наткнулся на «Skip.If ()» с пакетом nuget xunit.SkippableFact. Для этого мне необходимо добавить атрибут [SkippableFact] или [SkippableTheory] в модульный тест, чтобы предупреждение отображалось с помощью «skip.if ()». Если я этого не сделаю, а просто добавлю стандартный [Факт] [Теория], он отобразит красный сбой, который мне не нужен. Это просто дымовой тест, поэтому я не возражаю против предупреждения, если тест не может быть запущен. См. Мой предыдущий пост о том, почему я хотел использовать xunit.SkippableFact.
Остановка теста в Visual Studio C # при отсутствии данных с помощью дымового теста
Итак, моя проблема в том, что я хочу иметь возможность использовать переименованный / настраиваемый атрибут Fact / Theory, чтобы знать, использовать ли [SkippableFact] или просто [Fact], основанный на TraitAttribute или что-то в этом роде. Я попытался переделать конструктор и заглянуть в XunitTestCaseDiscoverer, но безуспешно с моими ограниченными знаниями.
Первый пример - это то, как мы использовали переименование и настройку Fact, что приводит к провалу теста, если skip.if неверен. Второе - это стандартное именование xunit, которое делает то же самое, что и первое, но тоже вызывает сбой. Третье дает мне то, что я хочу, что является предупреждением, но я хочу каким-то образом включить [SkippableFact] в первый, поскольку у вас не может быть нескольких атрибутов Fact / Theory.
Заранее спасибо.
[UI, Scenario("Example"), Tags(TestScope.Smoke,TestScope.Skippable, Priority.One)]
[Evaluate("Example")]
public async Task ExampleTest()
{
skip.if(Data=0,"No Data to run smoke test"//This throws failed result
//for test
}
[Fact]
public async Task ExampleTest()
{
skip.if(Data=0,"No Data to run smoke test"//This throws failed result
//for test
}
[SkippableFact]
public async Task ExampleTest()
{
skip.if(Data=0,"No Data to run smoke test"//This throws warning
//result for test which is what I want
}