2016-06-15 7 views
0

Я пишу тестовую систему автоматизации, и я в ситуации, когда мне нужно выполнить все единичные тесты (в рамках одного проекта) параллельно используя файл runsettings.Как запустить несколько MSTest (в рамках одного и того же проекта и в том же классе) в Parallel

Здесь я имею в виду, что у меня есть класс, и у меня есть несколько тестов внутри класса, и мне нужно запустить эту параллель.

Я выполнил все шаги послушно, но все же не смог заставить его работать параллельно.

Я застрял здесь .. Я поднял вопрос ранее

Unable to run mstest in parallel in Visual Studio Update1

Кроме того, еще один вопрос похож на мой

parallel execution of tests in same class in mstest

Моя растерянность теперь мне нужно создать Do отдельный проект для каждого из моих тестов для достижения параллелизма

Мне не хватает, чтобы увидеть так что очень очевидно?

MSTest функциональность Разработчики параллельного тестирования, пожалуйста, помогите мне

+0

Даже (предположительно) более совершенный XUnit Framework не поддерживает его. Но, очевидно, это произойдет, если вы разделите тесты в разных классах, что, по крайней мере, будет более удобным, чем разные сборки. Https://xunit.github.io/docs/running-tests-in-parallel.html –

ответ

2

MSTest не поддерживает параллельную работу для тестов в одном контейнере. Итак, да, вам придется писать отдельные сборки (DLL) для тестов, которые будут выполняться параллельно. Я бы не сказал, что вы должны написать одну сборку для каждого теста, так как это будет излишним.

Возможно, вы можете найти логическую группировку тестов, которая имеет смысл. В зависимости от типов тестов, которые вы запускаете, вам может потребоваться только параллельное выполнение 2-8.

Если вы хотите протестировать функциональность нескольких тестов в контейнерах, у меня есть blog post и github sample project, которые демонстрируют это.

+0

Большое спасибо. –

+0

Я раньше этого не знал. Thx для освещения. –

0

Вы должны запустить vstest.console.exehttps://msdn.microsoft.com/en-us/library/jj155800.aspx вместо MSTest. Лично я столкнулся с трудностями при использовании MSTEST в удаленном сеансе Powershell, но VSTEST работает нормально.
Убедитесь, что ваши тесты являются потокобезопасными!

определяют количество параллельности с parallelTestCount в .testSettings файл

также проверить обращении как TFS или ТСЦ делает вызов vstest с возможностью работать параллельно: https://github.com/Microsoft/vsts-tasks/blob/master/Tasks/VsTest/VSTest.ps1

+0

Я согласен с вы ... Я использую vstest.console.exe. Тем не менее, я столкнулся с проблемой. Когда я запускаю с помощью vstest.console.exe в командной строке cmd также локально, я испытываю такое же поведение. Можете ли вы, пожалуйста, поделиться мной примером vstest.console.exe cmd, который вы использовали в своем проекте (со всей конфиденциальной информацией obfusctaed) Спасибо за вашу помощь –

+0

ваш пост сделал меня счастливым. –

+0

Кроме того, я считаю, что когда я запускаю тест в TFS, он вызывает полное выполнение теста в vstest.console.exe. Я вижу это в журналах сборки –