Распараллеливание модульных тестов отличается, если выполняется из Windows или CentOS - PullRequest
0 голосов
/ 08 февраля 2019

Я занимаюсь разработкой упрощенного ORM в .NET Core 2.2 и написал несколько модульных тестов xUnit, целью которых является проверка создания / удаления базы данных SQL Server или основных действий CRUD.У меня Windows 10, и у меня есть среда CI, также работающая в Windows 10. Однако недавно я добавил среду CI в CentOS 7 на сервере, чтобы проверить, действительно ли моя разработка работает на разных ОС благодаря .NET.Базовая структура.

Проблема, с которой я столкнулся, заключается в том, что я плохо спроектировал свои модульные тесты, и они являются параллельными.Таким образом, у меня есть тесты, которые пытаются выполнить некоторые действия CRUD параллельно с тестом, проверяющим функциональность удаления базы данных, что приводит к ошибке A transport-level error has occurred when receiving results from the server.

Что действительно странно, так это то, что я могу выполнять эти тесты столько раз, сколько захочу, в своей локальной среде (Windows 10) или среде Windows 10 CI, она никогда не будет терпеть неудачу.Кроме того, если я изменяю строку подключения для подключения локальных (Windows 10) модульных тестов к удаленной базе данных, размещенной в среде CentOS, она также проходит.НО, когда мой тест запускается моим бегущим CentOS CI или когда я запускаю его вручную, когда он подключен в SSH к моему серверу CentOS, он всегда терпит неудачу.Обратите внимание, что при запуске из Windows 10 с Visual Studio я могу включить опцию Run Tests In Parallel из проводника тестов, тесты всегда проходят и, похоже, не распараллеливаются.Кроме того, у меня нет специального файла конфигурации xUnit, поэтому я использую конфигурацию по умолчанию в обеих средах.

Я не прошу помочь мне исправить мои модульные тесты, я прошу понять, почему кажется, что мои тесты не выполняются параллельно в Windows 10, в то время как кажется, что они выполняются параллельно при запуске изCentOS.Может ли это быть проблемой из-за того, что Windows не выполняет свою работу по распараллеливанию?

Любая помощь приветствуется.Спасибо.

...