Подтвердить что ты не робот

Где создается Unit Test в VS 2017?

Я понимаю, что этот вопрос задан до SO, и кажется, что эта функция была удалена из VS в какой-то момент. Но сейчас я смотрю Microsoft учебник и говорит, что в VS 2017 должна быть функция Create Unit Test.

Я пытаюсь проверить ASP.NET Core MVC-контроллеры. Я выполнил шаги для создания тестового проекта. Но я все еще не вижу такой опции, когда я нажимаю правой кнопкой мыши пространство имен/класс/метод.

EDIT: я использую Visual Studio 2017 Community Edition

4b9b3361

Ответ 1

Ответ ниже относится только к .NET Core/Standard. Если вам не хватает опции Создать модульные тесты для полного проекта .NET Framework, смотрите здесь.

Текущий статус: скоро будет .NET Core

Параметр контекстного меню "Создать модульные тесты" не поддерживается (пока) для проектов, нацеленных на .NET Core и .NET Standard.

Документация была обновлена, чтобы отразить это в июле 2018 года, и теперь говорится:

Команда меню Создать модульные тесты:

  • Доступен в версиях Visual Studio 2015 и более поздних версиях для сообщества, профессиональных и корпоративных версий.
  • Поддерживает только код С#, предназначенный для .NET Framework.
  • Является расширяемым и поддерживает отправку тестов в форматах MSTest, MSTest V2, NUnit, xUnit.
  • Пока недоступно в .NET Core проектах.

Эта функция была запланирована для выпуска в версии 15.9 Visual Studio, но теперь, похоже, была перенесена обратно в версию 16.1.

Я протестировал это в проекте .NET Core 2.2 в Visual Studio Professional 2019 RC (версия 16.0.0), и я могу подтвердить, что он все еще там не работает - как и ожидалось согласно ответу выше.

Я также только что протестировал Visual Studio Professional 2019 Preview (версия 16.1.0 Preview 2.0), и он там также недоступен, так что, похоже, Microsoft еще не дошла до этого.

Смотрите обновления ниже для получения дополнительной истории и деталей.

история

Оригинальный ответ июнь 2017

Эта запись GitHub от Microsoft Jayarani Garg подтвердила, что она доступна только для проектов, нацеленных на полную платформу .NET:

Джаяни Гарг [MSFT] · 27 февраля 2017 в 06:09 Привет,

Спасибо за ваш отзыв. "Создать unit тест" в настоящее время не поддерживается для проектов .Net Core.

Это по замыслу, а не по ошибке в соответствии с комментарием команды Visual Studio на той же странице сообщества разработчиков Visual Studio:

Команда Visual Studio ♦♦ · 10 марта 2017 в 13:06

Спасибо за ваш отзыв! Команда Visual Studio определила, что эта проблема не является ошибкой. Однако мы рассмотрим этот отзыв и создали https://github.com/Microsoft/vstest/issues/592 для отслеживания этого. Пожалуйста, не стесняйтесь голосовать за проблему.

Проблема github, упомянутая выше в Microsoft VS Test repo. Отсутствует контекстное меню Create Unit Test (основные проекты .net), немного сбивает с толку. Она просила добавить эту функцию и для проектов .NET Core, но затем сотрудники Microsoft говорят о том, чтобы решить проблему. Я полагаю, что сотрудник ссылается на старую ошибку, когда опция контекстного меню не работала для полных проектов .NET Framework, как обсуждалось в этом вопросе, который также упоминается в этой теме. Насколько я вижу, этот поток не говорит, что они добавили пункт меню для проектов .NET Core.

Я также только что проверил копию Visual Studio Professional 2017, версия 15.2 (26430.6), и у меня есть опция Создать модульные тесты для проекта, который нацелен на полную платформу .NET (эта нацелена на .NET Framework 4.5.1):

Create Unit Test menu item present

Но у меня его нет для проекта, нацеленного на .NETCoreApp 1.1:

Create Unit Test menu item missing

Обновление июнь 2018

Microsoft приняла к сведению положительные отзывы о запросе функциональности и планирует представить опцию контекстного меню для проектов .NET Core в выпуске 15.8:

Маниш Джаясвал [MSFT] отвечает Даниэлю Тиби · 06 апреля 2018 года в 22:30

Добавление этой функциональности в проекты .NET Core требует значительных изменений в новой системе проектов, которая управляет проектами .NET Core. Эта работа отслеживается в репозитории системы GitHub проекта в этом выпуске (https://github.com/dotnet/project-system/issues/3425). Ожидается, что эта проблема будет решена в сроки до версии 15.8, поэтому, к сожалению, создание функциональности модульного тестирования для проектов .NET Core не будет доступно в следующей версии 15.7. Мы полностью понимаем, что это ключевая функция, и сделаем все возможное, чтобы сделать ее доступной как можно раньше.

Обновление июль 2018

Заглушки метода создания модульного теста с командной страницей Создать модульные тесты были обновлены, чтобы отразить, что это не работает для .NET Core.

Обновление августа 2018

Как указывает @gartenriese ниже, выпуск GitHub 3425, который Microsoft описал как отслеживающий эту работу, был перенесен на 15,9 веха 2 августа 2018 года.

Обновление января 2019

Функция модульного тестирования, кажется, зависит или блокируется другой частью разработки. Эта часть теперь предназначена для VS 16.1, то есть VS 2019, и также находится в списке приоритетов ниже, чем EF Core 3.0 (который является одной из основных функций VS 16), согласно этому сообщению GitHub от Microsoft Дэвида Кина.