Где находится выбор «Создать модульные тесты»?

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

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

См. Visual Studio 2010 Ultimate: введите описание изображения здесь

И Visual Studio 2012 Ultimate: введите описание изображения здесь

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

ОБНОВЛЕНИЕ:

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

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


person Houman    schedule 03.03.2012    source источник
comment
это один и тот же проект или сборка mvc?   -  person Daniel A. White    schedule 03.03.2012
comment
Это новые проекты MVC 4, созданные с нуля.   -  person Houman    schedule 03.03.2012
comment
Интересно. Что произойдет, если вы нажмете кнопку «Выполнить модульные тесты»?   -  person Diego    schedule 03.03.2012
comment
я бы сообщил об этом как об ошибке.   -  person Daniel A. White    schedule 03.03.2012
comment
VS 11 действительно сильно продвинулся в направлении от предоставления тестовой инфраструктуры через MSTest к предоставлению подключаемой тестовой среды. Это могло быть следствием этого решения. В любом случае я запишу ошибку   -  person JaredPar    schedule 03.03.2012
comment
мне нужна эта функция! WTH теперь мне нужно писать столько кода вручную T_T   -  person furier    schedule 31.07.2012
comment
решение здесь: serena-yeoh.blogspot .fr / 2013/02 / прочтите Предостережения !!!!   -  person Sebastien H.    schedule 14.03.2013
comment
По-прежнему не работает даже после запуска GenerateUnitTest.vsix в соответствии с вашим обновлением. У вас есть идея?   -  person Ahmed Elbatt    schedule 19.10.2014
comment
Может кто-нибудь добавить ответ для версии сообщества VS 2017, пожалуйста? Я изучаю документацию MS, но у меня нет параметров в контекстном меню: docs.microsoft.com/en-us/visualstudio/test/   -  person Serge Voloshenko    schedule 01.03.2017


Ответы (9)


Эта функция была вырезана из 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 и зависел от таких функций, как частные средства доступа, поэтому он был сокращен. Мы изучаем здесь альтернативы, но пока не имеем хороших решений.

ИЗМЕНИТЬ Есть способ обхода: http://blogs.msdn.com/b/malaysia/archive/2013/02/20/right-click-create-unit-tests.aspx

person Daniel A. White    schedule 21.03.2012
comment
Надеюсь, они найдут рабочее решение. Похоже на большой шаг назад, иначе - person Andrew Harry; 14.06.2012
comment
Похоже, что третий вариант в этом обходном пути больше не доступен в VS2013. - person Sander; 19.05.2014
comment
Функциональность возвращается в VS2015 blogs.msdn.com/b/visualstudioalm/archive/2015/03/06/ спасибо тем, кто проголосовал за это в visualstudio.uservoice.com/forums/121579-visual-studio/. @furier: Может, вы за это проголосовали? - person LosManos; 11.03.2015
comment
То есть, это было 5 минут назад ... Его просто нет сейчас - почему оно приходит и уходит? - person BrainSlugs83; 27.02.2017

Доступно расширение "Генератор модульных тестов" < / сильный>

Расширение генератора модульных тестов

Чтобы добавить прямо из Visual Studio 2012/2013 IDE:

  1. Меню: Инструменты -> Расширения и обновления
  2. Щелкните: Интернет -> Галерея Visual Studio
  3. Искать: "Генератор модульных тестов"

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

Примечание. MSTest в VS 2012/2013 по-прежнему отстой

person JohnB    schedule 07.01.2014

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

EditorContextMenus.CodeWindow.CreateUnitTests

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

alias ut EditorContextMenus.CodeWindow.CreateUnitTests

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

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

Tools -> Options -> Environment -> Keyboard

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

person intrueder    schedule 03.12.2012
comment
Я не могу заставить это работать. Я установил курсор на методе. Нажмите на добавленный шорткод, но затем получите сообщение: Command EditorContextMenus.CodeWindow.CreateUnitTests недоступен. - person LockTar; 04.12.2012
comment
Я пробовал Visual Studio 2012 Ultimate с установленным обновлением, может быть, это имеет значение. - person intrueder; 04.12.2012
comment
Я получаю ту же ошибку, что и LockTar, когда пытаюсь это сделать. Итак, самый простой способ использовать модульное тестирование - это создать новый проект модульного тестирования. - person saadan; 07.12.2012
comment
Я не могу объяснить, почему у вас возникла ошибка, но я взял пробное видео, и вы можете посмотреть его по адресу grabilla.com/02c0a-6f42a829-1535-4016-a7ff-cbbda665bee5.html - person intrueder; 10.12.2012
comment
Если мастер недоступен, см. Блог dl. my / 2013 / create-unit-tests-function-not-available-or-disabled или мой ответ ниже stackoverflow.com / a / 15184716/52277 - person Michael Freidgeim; 14.03.2013
comment
Обратите внимание, что мастер создания модульных тестов VS 2012 поддерживает генерацию тестов только для общедоступных методов, тогда как в предыдущей версии также поддерживались частные методы. - person Michael Freidgeim; 30.04.2013
comment
В моей версии Visual Studio с QuickLaunch (текстовое поле в правом верхнем углу) можно просто написать CreateUnitTests (или даже короче), чтобы перейти к команде. - person LosManos; 11.03.2015

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

Способ 1. Командное окно

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

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/visual-studio-2012-create-unit-test.html

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

person Sebastien H.    schedule 14.03.2013
comment
Обратите внимание, что VS 2012 Create Unit Tests Wizard поддерживает генерацию тестов только для общедоступных методов, тогда как в предыдущей версии также поддерживались частные методы. - person Michael Freidgeim; 30.04.2013
comment
Это мне очень помогло, большое спасибо. В моем средстве мне не хватало шага добавления фиктивного модульного теста. - person Tanveer Badar; 31.01.2014
comment
Создание одного модульного теста important. Глупо не знаю, почему до этого момента этот пункт меню был отключен. - person indolentdeveloper; 22.12.2014
comment
То же самое обнаружил и здесь ... dawalaw. ru / 2013 / enable-create-unit-tests-on-visual-studio-2012 - person Sunny Tambi; 19.02.2018

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

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

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

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

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

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

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

Перейдите в File -> Add -> New Project… В окне Add New Project выберите Installed -> Visual C # -> Test -> Unit Test Project. Дайте ему осмысленное имя и нажмите ОК.

Сообщение Давы Ло «Создать модульные тесты…" Функция недоступна или отключена имеет моментальные снимки для иллюстрации каждого шага.

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

.

person Michael Freidgeim    schedule 03.03.2013
comment
вам нужно создать один тестовый класс вручную, прежде чем мастер станет доступен - в конце концов, это помогло мне - person Jorj; 13.05.2014
comment
Спасибо, я воспользовался блогом Давы Лоу, и, наконец, все готово :) - person Ahmed Elbatt; 19.10.2014

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

person Scott Dorman    schedule 10.03.2012

Вы можете вернуть себе право щелкнуть "Create Unit Tests ...", импортировав следующие vssettings из здесь.

person Dawa Law    schedule 13.02.2013

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

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

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

person Peter Ming    schedule 26.03.2013
comment
...и что потом? Он уже указан там, но не отображается, когда я щелкаю правой кнопкой мыши. - person Luke Puplett; 14.02.2018

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

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

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

person varini    schedule 03.05.2019