Demarch предоставил правильный ответ в комментариях, для видимости и всякий раз, когда другие люди спотыкаются об этом вопросе, я укажу его здесь (мне потребовалось слишком много времени, чтобы понять это вне):
Признак:
VSTest.Console.exe запускает тесты дважды или даже несколько раз, когда используются NUnit, Xunit или другой testrunner, чем собственный.
Причина:
Путь к TestAdapter не правильно (до $ (Build.SourcesDirectory), например) установлен или нет. Это позволяет бегуну сканировать все папки для тестовых адаптеров. Когда есть несколько присутствующих, все тестовые адаптеры запустит testrun, заставляя все тесты запускаться несколько раз.
Решение. Перенаправление путь к testadapter в папку ваши пакеты находятся в
- При запуске из командной строки установите следующие параметры для VSTest.Console.exe к чему-то вроде этого:
/TestAdapterPath:"{solutionfolder}\packages"
- Если вы запустите его в TFS, откройте «Дополнительные опции» Казни раздел Visual Studio Test шаг сборки и установите следующий параметр на что-то вроде этого:
$(Build.SourcesDirectory)\packages
Вы когда-нибудь решали эту проблему? У меня такая же проблема с xUnit в новой системе сборки TFS 2015 – PascalK
Да. В моем случае это было вызвано тем, что путь к тестовому адаптеру не был указан, поэтому VS попытался отсканировать все DLL, которые были созданы во время сборки, и одна DLL, содержащая тестовый адаптер, была обнаружена более одного раза. Исправлено: установить путь для тестирования адаптера в одном конкретном местоположении dll – Demarsch