Методы тестирования не выполняются при связывании одного и того же метода тестирования с несколькими тестовыми примерами в VSTest, выполняющем тесты XUnit

У нас есть приложение ASP.Net и тесты пользовательского интерфейса, написанные с помощью xUnit. Планы тестирования находятся в VSTS, и в некоторых случаях один и тот же метод тестирования xUnit связан с несколькими тестовыми примерами.

Конвейер сборки Azure выполняет эти тесты с помощью VSTest. Проблема в том, что когда несколько тестовых примеров связаны с одним методом, кажется, что выполняется только один из них. Например. Тестовые примеры на снимке экрана ниже связаны с одним и тем же методом, и выполняется только один.

введите описание изображения здесь

Мы пробовали как «Тестовые сборки», так и «План тестирования» в Vstest, но результаты были одинаковыми.

введите описание изображения здесь

Согласно приведенной ниже ссылке, в xUnit невозможно запустить один и тот же метод тестирования несколько раз в одном сеансе тестирования.

https://developercommunity.visualstudio.com/content/problem/995269/executing-multiple-test-cases-from-testplan-which.html?childToView=995554#comment-995554

Я могу придумать следующие решения:

  1. Создание фиктивных методов тестирования для всех тестовых случаев и поддержка индивидуального метода тестирования для сопоставления тестовых примеров. Где один метод будет иметь логику тестирования, а другие методы просто подтвердят истину.
  2. Создайте несколько методов тестирования, где только один метод будет содержать реализацию. Другие методы просто вызовут тестовый метод, содержащий реализацию.

Пожалуйста, подскажите, есть ли лучшее решение проблемы.

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


person Baga    schedule 21.06.2020    source источник


Ответы (1)


Методы тестирования не выполняются при связывании одного и того же метода тестирования с несколькими тестовыми примерами в VSTest, выполняющем тесты XUnit.

Как мы знаем:

По умолчанию каждый тестовый класс представляет собой уникальную тестовую коллекцию. Тесты в рамках одного тестового класса не будут выполняться параллельно друг другу.

Итак, ответ, который мы получили от форум сообщества разработчиков Azure Devops и xunit is XUnit не позволяет запускать один тест несколько раз в одном сеансе.

Я лично считаю, что предложенные вами два варианта верны. Вы можете использовать один из двух методов для решения этой проблемы. Вы уже на правильном пути.

Надеюсь это поможет.

person Leo Liu-MSFT    schedule 22.06.2020