Где находится выбор «Создать юнит-тесты»? - PullRequest
154 голосов
/ 03 марта 2012

Я установил новую Visual Studio 2012 Ultimate.

Я создал тестовый проект с моим решением, и он содержит несколько стандартных тестов. Однако щелчок правой кнопкой мыши по новым методам больше не отображает контекстное меню «Создание юнит-тестов».

См. Visual Studio 2010 Ultimate: enter image description here

И Visual Studio 2012 Ultimate: enter image description here

Есть идеи, почему это может быть?

UPDATE:

Решение для Visual Studio 2012 и 2013:

Microsoft признала это здесь и предлагает официальную работу вокруг патча для его исправления. Скачивайте, устанавливайте и наслаждайтесь!

Ответы [ 9 ]

86 голосов
/ 21 марта 2012

Эта функция была вырезана из VS.

http://blogs.msdn.com/b/visualstudioalm/archive/2012/03/08/what-s-new-in-visual-studio-11-beta-unit-testing.aspx

Мастер создания модульного теста - в VS2010 вы можете щелкнуть правой кнопкой мыши на метод в вашем коде, и мы сгенерируем модульный тест в ваш тест проект. Этот мастер был очень тесно связан с MS-Test и зависел на такие функции, как Private Accessors, чтобы сделать свою работу, поэтому он был сокращен. Мы здесь изучают альтернативы, но не имеют хороших решений еще.

РЕДАКТИРОВАТЬ Есть обходное решение: http://blogs.msdn.com/b/malaysia/archive/2013/02/20/right-click-create-unit-tests.aspx

33 голосов
/ 07 января 2014

Доступно расширение " Генератор тестов * "

Unit Test Generator Extension

Для добавления непосредственно из Visual Studio 2012/2013 IDE:

  1. Меню: Инструменты -> Расширения и обновления
  2. Нажмите: Онлайн -> Галерея Visual Studio
  3. Поиск: «Генератор модульных тестов»

Демонстрация видео MSDN

Примечание: MSTest в VS 2012/2013 все еще отстой

27 голосов
/ 04 декабря 2012

Пункт меню все еще на месте, но по неизвестным причинам он невидим в редакторе кода. Но вы можете использовать команды Visual Studio для запуска мастера модульного тестирования. Вам нужна команда

EditorContextMenus.CodeWindow.CreateUnitTests

Откройте окно командной строки и введите команду там. Или введите команду псевдонима следующим образом

alias ut EditorContextMenus.CodeWindow.CreateUnitTests

и назначьте псевдоним для более быстрого выполнения команды.

Еще один способ запуска мастера - это сочетание клавиш. В Visual Studio откройте

Tools -> Options -> Environment -> Keyboard

Введите «createunit» в текстовое поле «Показать команды, содержащее», чтобы отфильтровать команду CreateUnitTests, выберите ее. Выберите «Текстовый редактор» в поле «Использовать новый ярлык в» и нажмите нужный ярлык в текстовом поле «Нажатие клавиш» (например, Ctrl + T, Ctrl + C). Наконец, нажмите кнопку «Назначить». Наслаждайтесь!

19 голосов
/ 14 марта 2013

Вот как включить его снова:

Метод 1 - Окно команд

Если вам будет трудно, вы обнаружите, что команда для вызова Создать модульные тесты ... на самом деле:

EditorContextMenus.CodeWindow.CreateUnitTests

На самом деле вы можете ввести его в командном окне, чтобы вызвать мастер создания модульного теста. Если вы найдете его слишком многословным, вы можете создать для него псевдоним.

псевдоним ut EditorContextMenus.CodeWindow.CreateUnitTests

Затем просто наберите ut, чтобы запустить мастер.

Метод 2 - Сочетание клавиш

Следующий метод заключается в том, чтобы перейти в Сервис-> Параметры-> Среда-> Клавиатура и установить комбинацию клавиш по вашему выбору.

Метод 3 - Снова включить контекстное меню Создать модульные тесты ...

Чтобы снова включить меню «Создать юнит-тесты ...», перейдите в «Инструменты» -> «Настройка» ..., чтобы открыть диалоговое окно «Настройка». В диалоговом окне «Настройка» перейдите на вкладку «Команды», установите переключатель «Контекстное меню» и выберите «Контекстные меню редактора | Окно кода.

Вы поймете, что пункт меню действительно доступен в контекстном меню. Разработчики VS были достаточно любезны, чтобы оставить это для нас.

Нажмите на пункт меню «Создать модульные тесты ...» и нажимайте кнопку «Вниз», пока она не будет включена или находится под командой «Выполнить тесты ...». Затем нажмите Закрыть.

Перезапустите Visual Studio 2012 и все! Будет доступно контекстное меню!

Вы можете обнаружить, что использование любого из указанных выше методов может не работать. Т.е. в окне команд будет указано, что команда недоступна, сочетание клавиш не будет запущено или контекстное меню будет доступно, но отключено.

Чтобы все это работало, сначала вам нужно будет иметь проект модульного тестирования в своем решении. После создания проекта модульного тестирования вам нужно будет вручную добавить элемент модульного теста в проект, даже если проект разворачивается с одним из них. После того, как вы это сделаете, все будет работать так же, как в Visual Studio 2010. Вы можете безопасно удалить эти файлы UnitTest1.cs.

Источник (с изображениями, мне не хватает точек репутации, чтобы положить их):
http://serena -yeoh.blogspot.fr / 2013/02 / зрительно-студия-2012 создать единичную test.html

(пс: прочитайте предостережения !!!!)

9 голосов
/ 03 марта 2013

Ответ из intrueder не работал для многих пользователей.Когда я вводил UT в командном окне, у меня иногда было следующее

>UT
Command "EditorContextMenus.CodeWindow.CreateUnitTests" is not available.

Но иногда это работало для того же решения, поэтому поведение казалось прерывистым.

С помощью Сообщение Давы « Создание модульных тестов… Функция недоступна или отключена » Я обнаружил, что во время каждого сеанса Visual Studio необходимо вручную создать один класс тестирования, прежде чем будет доступен мастер.

Если у вас есть существующий проект Unit Test в решении,

В обозревателе решений щелкните правой кнопкой мыши проект Unit Test -> Add -> Unit Test… Это создаст новый модультестировать класс и запускать Visual Studio, чтобы существующий класс модульных тестов был доступен, таким образом, включается мастер создания модульных тестов. Примечание: Вы можете удалить созданный файл класса Модульный тест (UnitTestX.cs), так как он используется для запуска функции.

Если у вас нет проекта Unit Test в решении, его необходимо создать перед добавлением ручного класса:

Перейдите в Файл -> Добавить -> Новый проект ... В окне Добавить новый проект выберите Установлено -> Visual C # -> Тест -> Проект модульного тестирования.Дайте ему осмысленное имя и нажмите OK

Сообщение Dawa Law « Создать юнит-тесты…» Функция недоступна или отключена имеет снимки для иллюстрациикаждый шаг.

Обратите внимание, что мастер создания модульных тестов VS 2012 поддерживает генерацию тестов только для методов public , если в предыдущей версии также поддерживались частные методы.

.

6 голосов
/ 10 марта 2012

В бета-версии меню «Создать юнит-тесты» было удалено. Я не уверен, есть ли планы вернуть его или нет. Если это действительно проблема для вас, запросите ее на сайте Visual Studio UserVoice: http://visualstudio.uservoice.com/

4 голосов
/ 13 февраля 2013

Вы можете восстановить правой кнопкой мыши «Создать юнит-тесты ...», импортировав следующие vssettings из здесь .

2 голосов
/ 26 марта 2013

http://blogs.msdn.com/b/malaysia/archive/2013/02/20/right-click-create-unit-tests.aspx

Метод 3 - Снова включить контекстное меню Создать модульные тесты ...

На сегодняшний день это лучший метод.Чтобы снова включить меню «Создать модульные тесты ...», перейдите в «Инструменты» -> «Настройка» ..., чтобы открыть диалоговое окно «Настройка».В диалоговом окне «Настройка» перейдите на вкладку «Команды», установите переключатель «Контекстное меню» и выберите «Контекстные меню редактора |Окно кода.

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

"Вы можете обнаружить, что использование любого из вышеперечисленных методов может не сработать. Т.е. командное окно сообщит вам, что команда недоступна, сочетание клавиш не сработает или контекстное меню будет доступно, но отключено.

Чтобы все это работало, сначала вам нужно будет иметь проект модульного тестирования в своем решении. После создания проекта модульного тестирования вам нужно будет вручную добавить элемент модульного теста в проект, даже если проект разворачивается с одним из них. После того, как вы это сделаете, все будет работать так же, как в Visual Studio 2010. Вы можете безопасно удалить эти файлы UnitTest1.cs. "

(Майкл Фрейдгейм)

...