Visual Studio Test Explorer не может запускать тесты в скомпилированном тестовом проекте - PullRequest
0 голосов
/ 28 февраля 2019

Я изо всех сил пытаюсь заставить мои модульные тесты работать.Я боролся с этой проблемой уже несколько часов, и у меня нет объяснения, почему вещи не работают.У меня был довольно серьезный рефакторинг на моей кодовой базе, и с тех пор я прошел и исправил все юнит-тесты.Тестовый проект строится, он выводит новый блочный тестовый dll.Однако когда я запускаю тесты в проводнике тестов, я получаю следующее сообщение:

[27.02.2009 17:08:05 Предупреждение] [MSTest] [Discovery] [C: \ pathtotest.dll] Не удалось обнаружить тесты из сборки C: \ pathtotest.dll.Причина: не удалось загрузить файл или сборку 'System.Runtime, версия = 4.1.2.0, культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a' или одна из ее зависимостей.Системе не удается найти указанный файл.

[27.02.2009 17:08:05 Предупреждение] Ни один тест не соответствует указанному фильтру тестовых примеров FullyQualifiedName=<namespace.namespace...testmethod> в C: \ pathtotest.dll

Вот что я знаю:

  • Я недавно обновил Visual Studio (в течение последних двух недель не помню точно, когда я это сделал).

  • Все пакеты в тестовом проекте были обновлены и работают с самыми последними версиями.

  • У меня есть другой проект модульного тестирования, который является .Net Core 2.1,это .Net Framework 4.7.2.Другой проект работает.

Некоторые предложения, которые другие посты дают, должны убедиться, что ваша тестовая архитектура правильна, и удалить папку в% TEMP% (не называйте точное имя, кромеэто было что-то о VisualStudioExtensions).Папка, которую они предлагают удалить, не найдена в% TEMP%, и я попытался запустить свои тесты на обеих архитектурах с одинаковым результатом.

Поэтому следующим шагом было сдать тест на работоспособность и убедиться, что встроенный тестовый dllсуществует.Это так.

К этому моменту я почти готов начать новый тестовый проект и скопировать вставку по всем тестам один за другим и посмотреть, может ли кто-нибудь выдать ошибку без вывода сообщений.Я не могу найти какую-либо полезную информацию с моими собственными навыками Google-фу, и я надеюсь, что у кого-то есть полезные идеи или хитрости, которые можно попробовать.

Ответы [ 2 ]

0 голосов
/ 16 мая 2019

У меня была похожая проблема с совершенно новым тестовым проектом в существующем решении - все мои другие тестовые проекты компилировались и тестировались правильно, но новый постоянно выдавал ошибку:

Нет тестовых совпаденийданный тестовый фильтр ...

Ответ пришел из этого поста VSTest: файл testsettings или runsettings с установленным значением true для ForcedLegacyMode не поддерживается адаптером MSTest V2.Нет доступных тестов , в которых предлагалось отключить файл testsettings, который каким-то образом был выбран в новом проекте.

Как только я отменил выбор опции Тест -> Настройки теста -> c: ... \ Repos ... testsettings в Visual Studio, тесты стали работоспособными.

0 голосов
/ 28 февраля 2019

Из комментария выше:

Использование этого C:\pathtotest.dll

Проверьте также, если 32bit or 64bit время выполнения.

В большинстве случаев используется 32bit dlls.

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

...