Я занимаюсь обновлением существующего решения до .Net 4.6.1, и мне не удалось запустить наши модульные тесты во время сборки сервера. Локально они запускаются, как и ожидалось, и возвращение версии фреймворка к .Net 4.5.1 заставляет их снова запускаться на сервере.
Я получаю следующую ошибку:
Тест не найден. Убедитесь, что установленные средства обнаружения и исполнители тестов, настройки платформы и версии фреймворка подходят, и повторите попытку.
Я воспроизвел проблему в более простой настройке:
- Решение с одним проектом C # Unit Test с двумя тестами (один неудачный, один пройденный).
- Определение сборки XAML с использованием шаблона по умолчанию (TfvcTemplate.12.xaml)
- Сервер сборки XAML TFS 2015 с обновлением 1 с установленным обновлением 1 Visual Studio Enterprise 2015 (шесть похожих серверов, и все они дают одинаковый результат)
unit-testing
tfs
build
tfs-2015
Торе Эстергаард
источник
источник
Ответы:
Сейчас это известная проблема для .Net 4.6.
Вот аналогичный вопрос для справки: Невозможно запустить модульные тесты .Net 4.6 сервера сборки TFS 2015 XAML
источник
Вы можете попробовать изменить архитектуру процессора по умолчанию в настройках теста с X86 на X64. В моем случае это была проблема.
Это происходит, если для целевой платформы вашего тестируемого проекта установлено значение
x64
.источник
Моя сборка тоже не нашла тестов. Моя установка и решение для поиска тестов следующие.
Я использую VSTS (Visual Studio Team Services) и имею сборку, настроенную на обновление пакетов NUGET при каждой сборке. Я использую NUnit и обнаружил, что выполнение следующей команды NUGET (из консоли диспетчера пакетов в Visual Studio) для добавления библиотеки NUnitTestAdapter в мой тестовый проект и проверка в файле packages.config позволили запустить тесты в моей сборке VSTS.
Как упоминает Морис в комментарии к этому сообщению для NUnit3, используйте следующий пакет NUGET (ищите другие утилиты по ссылке, например: dotnet CLI и Paket CLI)
Надеюсь это поможет.
источник
В моем случае мне пришлось:
Преобразование тестового проекта в netcore 2.0 (было netstandard 2.0)
Добавить пакет nuget
xunit.runner.visualstudio
Ссылка: http://www.neekgreen.com/2017/11/20/xunit-no-test-is-available/
источник
Я использую MSTest. Для меня это было несовпадение версий и отсутствие другого зависимого пакета -
1) Моя папка пакета содержит только пакет MSTest.TestFramework.1.2.1. В моем файле проекта (.csproj) ссылка в Target Name была пакетом MSTest.TestAdapter.1.2.0, которого не было в папке пакета. В моем файле packages.config также есть ссылка на MSTest.TestFramework.1.2.0.
2) Итак, я установил MSTest.TestAdapter.1.2.0 из диспетчера пакетов nuget и выровнял версию MSTest.TestFramework до 1.2.0 в файле проекта и пакета. Наконец, я добавляю в ссылку Microsoft.VisualStudio.TestPlatform.TestFramework и Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.
Тогда все было ОК. Надеюсь, это кому-то поможет.
источник
Я получил эту ошибку и смог ее устранить.
источник
Эта проблема снова возникает в Visual Studio 2017. Скорее всего, еще одна ошибка, но результат тот же.
Один из эффективных способов решения проблемы - удалить удаленный отладчик Microsoft Visual Studio 2017 с затронутого компьютера.
источник
Я столкнулся с той же проблемой в VSTS с .Net 4.6.2. Если вы видите это из вывода консоли VSTS, обходной путь, предоставляемый @Sushil, по-прежнему работает в VSTS и необходим. К сожалению, задача «Test Assemblies», предоставленная Microsoft, проходит, так что вы даже не узнаете о проблеме, если не проверите вывод и не обнаружите, что ни один из ваших тестов действительно не выполнен!
источник
источник
Если вы запускаете свои тесты внутри докера, используя многоступенчатую сборку, и тесты не найдены. Убедитесь, что вы копируете все файлы, а не только файлы проекта, как показано в разделе Dockerfile ниже.
источник
Я исправил эту проблему в тестовом проекте VS 2017 и 4.6.2, выполнив следующие действия:
источник
Убедитесь, что у вас установлен nuget «Microsoft.NET.Test.Sdk».
источник
Я исправил эту проблему путем переустановки всех испытаний , связанные пакеты NuGet для проекта:
Xunit
,Xunit.runner.vistualstudio
,Microsoft.Net.Test.Sdk
источник
У меня возникла аналогичная проблема, и я заметил, что каким-то образом
app.config
в мой тестовый проект был добавлен файл. Удаление этого файла конфигурации исправило это для меня.источник
Используя .Net Core с конвейером сборки в TFS 2017, мой этап тестирования Visual Studio проходил без фактического выполнения каких-либо тестов. Пришлось отредактировать шаг «Дополнительные параметры выполнения» -> «Другие параметры консоли», чтобы включить:
(Это поле также содержит
/platform:x64
)источник
Я получил эту ошибку, потому что мой класс модульного теста не был общедоступным.
Пример:
class ClientTests
Ошибка вывода:
...\bin\Debug\Tests.dll] UTA001: TestClass attribute defined on non-public class ClientTests
Исправление:
public class ClientTests
источник
Закину свой раствор в кучу. В моем случае я добавляю пару проектов к существующему решению вместе с тестовыми проектами для них. Мы используем MSTest. В решении был включен предыдущий файл UnitTest.testsettings, который вызывал проблемы совместимости.
Щелчок по файлу настроек удалил проверку, и тестовый запуск был успешным для моих тестов.
источник
Нашел способ! Наверное, не самый ортодоксальный, но очень быстро выручил:
Я не думаю, что в версии есть что-то особенное, но ее обновление определенно очищает любую плохую ссылку в решении / проекте.
источник
Это просто повторение решения, предложенного ранее @Sushil.
Это известная проблема в Team Foundation Server 2015 RTM + обновление 1 и будет исправлена в обновлении 2, ссылка .
Существует обходной путь описывается @Sushil здесь , который включает добавление .runsettings файла , что силы тест бегун инфраструктуру .NET (пожалуйста , не то, что вы должны указать его в диалоговом окне «Добавить / Изменить Test Run» , как добавить его непосредственно в редакторе процесса сборки игнорируются).
источник
В Visual Studio 2017 я просто удаляю и переустанавливаю NUnitTestAdapter или устанавливаю новый пакет, например пакет NUnitTestAdapter.WithFramework, и проблема исчезает.
источник
У меня такая же проблема. Я использую Visual Studio 2017 Community Edition.
Я использовал эти шаги, чтобы успешно обнаружить все свои тестовые примеры и успешно запустить его:
Сначала перейдите в раздел «Расширения и обновления», установите тестовый адаптер NUnit3. Если у вас уже есть, просто включите его.
Перезагрузите Visual Studio 2017, он автоматически предложит
установить расширение. Если появится запрос на завершение задачи, чтобы продолжить
установку, просто нажмите «Завершить задачу».
После этого перестройте свой тестовый проект, и все тестовые примеры будут определены, и теперь вы можете начать выполнение своих тестовых случаев.
источник
В моем случае переустановка адаптера Nunit3, удаление временных папок, изменение архитектуры и ничего не помогло. Это из-за того, что Daemon Resharper вызвал проблему.
Это решает проблемы.
источник
Эта ошибка может произойти для асинхронных тестов, если у вас неправильный тип возвращаемого значения. Тип возврата должен быть Task, а не void.
источник
После добавления TestAdapterPath в командир у меня это сработало:
источник
В моем случае тесты были обнаружены, но их выполнение привело к появлению «Тест недоступен ... » и известному (не) известному: «Убедитесь, что средство обнаружения и исполнители тестов зарегистрированы, а настройки версии платформы и фреймворка соответствуют требованиям и повторите попытку».
ошибка не зависела от Visual Studio (тестировалась с помощью инструментов CLI dotnet и почти голого теста UNit), и это было только при нацеливании на .NET 4.7.1. Приложение dotnetcore работает нормально.
также запуск тестов с помощью интерфейса командной строки Nuint3
nunit3-console.exe Tests.csproj
показывает ошибку:«Либо сборка не содержит тестов, либо правильный тестовый драйвер не найден».
ошибка возникла из-за того, что тестовый адаптер не удалось найти на (подключенном) сетевом диске или общем ресурсе, и была решена путем его локального копирования и повторного запуска.
источник
Попробуйте запустить
vstest.console.exe
с--diag:diag.txt
и проверьте вывод. Для меня это были сбои загрузки DLL для тестовых адаптеров из моего рабочего каталога:TpTrace Information: 0 : 14976, 1, 2020/03/10, 15:34:22.120, 57158093583, vstest.console.exe, AssemblyResolver.OnResolve: Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter: Failed to load assembly. Reason:System.IO.FileLoadException: Could not load file or assembly 'file:///C:\Directory\Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)
File name: 'file:///C:\Directory\Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll' ---> System.NotSupportedException: An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, so this load may be dangerous. If this load is not intended to sandbox the assembly, please enable the loadFromRemoteSources switch. See http://go.microsoft.com/fwlink/?LinkId=155569 for more information.
Я работал вокруг этого путем добавления в
<loadFromRemoteSources enabled="true"/>
рамках<runtime>
в vstest.console.exe.configисточник
Я использую MSTest.
Я установил из Nuget последнюю версию MSTest.TestFramework и заменил OOB Удалить ссылки на Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
Затем установили из neget последнюю версию Microsoft.TestPlatform
Это позволило мне запустить тест с помощью команды:
Но у меня такая же ошибка. Основная причина ошибки в том, что я не указал тестовый адаптер, который анализирует сборку и находит тесты.
Решение:
Установите пакет nuget "MSTest.TestAdapter"
В конце команды укажите тестовый адаптер:
/TestAdapterPath:".\packages\MSTest.TestAdapter.2.1.2\build_common "
источник
Я столкнулся с аналогичной проблемой, когда попробовал nUnit в VS 2017, и это не основной проект. Установка
NUnit3TestAdapter
устранила проблему.источник
Я решил эту проблему, установив NUnit3TestAdapter NuGet в свой проект ( https://www.nuget.org/packages/NUnit3TestAdapter/ ).
Мой файл .csproj
источник
Этот вопрос, очевидно, задают люди с различными сценариями, мой ответ будет касаться запуска тестов XUnit в проекте .NET Core с использованием конвейера сборки в Azure DevOps, но может помочь и другим.
otherConsoleOptions: '/framework:.NETCoreApp,Version=v3.1'
кinputs
вашейVSTest@2
стадии (с набором номера версии в любой версии .NET Ядра вы используете). См. Эту документацию для получения дополнительной информации.failOnMinTestsNotRun: true
чтобы конвейер сборки сообщал о сбое при выполнении нулевых тестов.The library 'hostpolicy.dll' required to execute the application was not found
. Вы можете решить эту проблему, изменив фильтр со значения**\*test*.dll
по умолчанию на**\*test.dll
(обратите внимание на удаленную звездочку) или какой-либо другой шаблон, который будет соответствовать DLL вашего тестового проекта. Причина этого в том, что XUnit помещает файл, вызываемыйtesthost.dll
в выходной каталог, как объясняется в этой проблеме github .Если вы используете старые конвейеры, в которых не используется yaml, должны быть доступны те же параметры. В этом ответе рассматривается добавление фреймворка. Я предполагаю, что также будет опция «Не выполнить задачу, если не выполнено минимальное количество тестов» или что-то подобное.
источник