xUnit не поддерживает асинхронный тест? - PullRequest
0 голосов
/ 06 ноября 2018

Я прочитал, что xUnit V2.4.1 поддерживает асинхронный тест (я добавил пакеты nuget xunit.runner.visualstudio и xunit.runner.console в свой проект Visual Studio 2015.). Поэтому я создал следующие тесты.

[Fact]
public async Task SearchItemSqlRepositoryModel_Reset()
{
     await _searchItemSqlRepository.GetSearchItems(....);
}

Однако, Run Test показывает «Тесты не найдены для выполнения»?

Я пытался изменить Task на void, и он все еще не работает.

[Fact]
public async void SearchItemSqlRepositoryModel_Reset()

Однако синхронная версия работает.

[Fact]
public void SearchItemSqlRepositoryModel_Reset0()
{
    _searchItemSqlRepository.GetSearchItems(....).Wait();
}

Ответы [ 2 ]

0 голосов
/ 06 ноября 2018

Если вы измените «async Task» на «async void», ваши тесты будут запущены. На самом деле это поведение (вид) является намеренным. Смотрите вопрос ниже:

https://github.com/xunit/xunit/issues/1405

0 голосов
/ 06 ноября 2018

Звучит как ошибка бегуна xUnit.

  • Если щелкнуть правой кнопкой мыши в редакторе, а затем нажать Run Tests, эти асинхронные тесты не запустятся.
  • Тем не менее, нажатие Run All в Test Explorer будет работать. Но он все равно не будет показывать зеленый значок проверки перед методами испытаний. Он покажет зеленый значок галочки в «Проводнике тестов».
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...