Де вибір "Створити тести одиниць"?


154

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

Я створив тестовий проект зі своїм рішенням, і він містить деякі тести за замовчуванням. Однак клацання правою кнопкою миші на нових методах більше не відображає контекстне меню "Створити тести одиниць".

Дивіться Visual Studio 2010 Ultimate: введіть тут опис зображення

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

Будь-яка ідея, чому це могло бути?

ОНОВЛЕННЯ:

Рішення для Visual Studio 2012 та 2013:

Microsoft визнав це тут і пропонує офіційну роботу з виправленням для виправлення. Завантажте, встановіть і насолоджуйтесь!


це одно і той же проект чи побудова mvc?
Даніель А. Білий

Це нові проекти MVC 4, побудовані з нуля.
Хоуман

Цікаво. Що відбувається при натисканні на "Запустити тести одиниць"?
Дієго

2
я б повідомив про це як про помилку.
Даніель А. Білий

4
VS 11 дуже сильно рухався в напрямку від забезпечення тестової інфраструктури через MSTest до забезпечення підключуваної тестової основи. Це може бути наслідком цього рішення. У будь-якому випадку я б
подав

Відповіді:


86

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

EDIT Існує проблема : http://blogs.msdn.com/b/malaysia/archive/2013/02/20/right-click-create-unit-tests.aspx


16
Сподіваюся, вони придумають робоче рішення. Начебто великий крок назад інакше
Ендрю Гаррі

3
Схоже, що третій варіант у цьому вирішенні вже не доступний у VS2013.
Сандер

Функціональність повертається у VS2015 blogs.msdn.com/b/visualstudioalm/archive/2015/03/06/… завдяки тим, хто проголосував за неї у visualstudio.uservoice.com/forums/121579-visual-studio/… . @furier: Може, ти проголосував за це?
ЛосМанос

Я маю на увазі, це було там 5 хвилин тому ... просто зараз його немає - чому він приходить і йде?
BrainSlugs83

33

« Генератор Test Unit розширення» доступний

Подовження генератора тестового генератора

Щоб додати безпосередньо з ID ID Visual Studio 2012/2013:

  1. Меню: Інструменти -> Розширення та оновлення
  2. Клацніть: Інтернет -> Галерея Visual Studio
  3. Шукати: "Тестовий генератор"

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

Примітка: MSTest у VS 2012/2013 як і раніше вилітає


28

Пункт меню все ще існує, але з невідомих причин він невидимий у редакторі коду. Але ви можете використовувати команди візуальної студії для запуску майстра тестування одиниць. Вам потрібна команда

EditorContextMenus.CodeWindow.CreateUnitTests

Відкрийте вікно команд і введіть туди команду. Або введіть команду псевдоніму наступним чином

alias ut EditorContextMenus.CodeWindow.CreateUnitTests

і призначити псевдонім для запуску команди швидше.

Ще один спосіб запустити майстер - це комбінація клавіш. У Visual Studio відкрито

Tools -> Options -> Environment -> Keyboard

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


7
Я не можу змусити це працювати. Я встановив курсор на метод. Натисніть на доданий я короткий код, але тоді отримайте повідомлення: Команда "EditorContextMenus.CodeWindow.CreateUnitTests" недоступна.
Ральф Янсен

Я спробував на Visual Studio 2012 Ultimate з встановленим оновленням, можливо, це важливо.
зловмисник

1
Я отримую ту ж помилку, що і LockTar, коли я намагаюся це зробити. Тож найпростіший спосіб використання одиничного тесту - це скласти новий тестовий проект одиниці.
saadan

Я не можу пояснити, чому ви отримали помилку, але я схопив доказне
зловмисник

Якщо майстер не доступний, см блог dl.my/2013/create-unit-tests-function-not-available-or-disabled або моя відповідь нижче stackoverflow.com/a/15184716/52277
Майкл Freidgeim

19

Ось як це знову ввімкнути:

Спосіб 1 - Вікно команд

Якщо вам здасться досить важким, ви виявите, що команда викликати тести створення одиниць ... насправді:

EditorContextMenus.CodeWindow.CreateUnitTests

Ви можете фактично ввести це у вікні команд, щоб викликати майстра створення тестового блоку. Якщо ви вважаєте це занадто багатослівним, ви можете створити псевдонім для нього.

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

Потім просто введіть ut, щоб запустити майстра.

Спосіб 2 - Комбінація клавіш

Наступним методом є перейти до Інструменти-> Параметри-> Навколишнє середовище-> Клавіатура та встановити клавішу швидкого доступу за вашим уподобанням.

Спосіб 3 - Повторно увімкніть контекстне меню "Створення тестів ...".

Щоб знову ввімкнути меню Створити тести одиниць ..., перейдіть до Інструменти-> Налаштувати ..., щоб запустити діалогове вікно Налаштувати. У діалоговому вікні "Налаштувати" перейдіть на вкладку "Команди", виберіть перемикач меню "Контекст" та виберіть "Редактор меню контексту" | Вікно коду.

Ви зрозумієте, що пункт меню фактично доступний у контекстному меню. Розробники VS були добрі, щоб залишити його там для нас.

Клацніть на пункт меню "Створити тести одиниць ..." та натисніть "Перемістити вниз", доки він не буде ввімкнути / під командою "Запустити тести ..". Потім натисніть кнопку Закрити.

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

Ви можете виявити, що використання будь-якого з перерахованих вище методів може не працювати. тобто Вікно команд повідомляє вам, що команда недоступна, ярлик клавіатури не запускається або меню контексту буде доступне, але вимкнено.

Щоб дозволити всім цим працювати, спочатку потрібно мати проект Тестового проекту у своєму рішенні. Після створення проекту Unit Test потрібно буде вручну додати елемент Unit Test до проекту, навіть якщо проект самостійно розгортається. Після цього все буде функціонувати так, як це було, як і в Visual Studio 2010. Ви можете безпечно видалити ці файли UnitTest1.cs.

Джерело (із зображеннями, у мене не вистачає точок Rep для їх розміщення):
http://serena-yeoh.blogspot.fr/2013/02/visual-studio-2012-create-unit-test.html

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


Зауважте, що VS 2012 Wizard Wizard Wizard підтримує тести генерації лише для публічних методів, коли в попередній версії також підтримувалися приватні методи.
Майкл Фрейджім

3
Це мені дуже допомогло, дуже дякую. Мені не вистачало додати крок тестування оманливої ​​одиниці у моєму лікуванні.
Tanveer Badar

1
Створення одного одиничного тесту вручну. Нерозумно не впевнений, чому пункт меню до цього часу був відключений.
indolentdeveloper


9

Відповідь на intrueder не працює для багатьох користувачів. Коли я ввожу UT у вікні команд, у мене інколи було таке

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

Але іноді це працювало на одне й те саме рішення, тому поведінка здавалася переривчастою.

За допомогою публікації Закону Дави « Створення тестів для одиниць… Функція недоступна або відключена » я виявив, що під час кожного сеансу Visual Studio вам потрібно створити один тестовий клас вручну, перш ніж майстер з’явиться.

Якщо у вас є проект проектного тестування,

У Провіднику рішень клацніть правою кнопкою миші проект «Тестування одиниць» -> Додати -> Тест на одиницю ... Це створить новий тестовий клас одиниці та запустить Visual Studio, що наявний клас Тестового модуля доступний, таким чином, увімкніть майстра створення тестів. Примітка. Ви можете видалити створений файл класу Unit Test (UnitTestX.cs), коли він використовується для запуску функції.

Якщо у рішенні у вас немає проекту Unit Test, вам потрібно створити його перед додаванням класу вручну:

Перейдіть у меню Файл -> Додати -> Новий проект ... У вікні Додати новий проект виберіть Установлено -> Візуальний C # -> Тест -> Тестовий проект модуля. Дайте йому значущу назву та натисніть кнопку ОК

Пост Закону Дави Функція " Створення тестів одиниць ..." Функція недоступна або відключена. Зроблено знімки для ілюстрації кожного кроку.

Зауважте, що VS 2012 Wizard Wizard Wizard підтримує тести генерації лише для публічних методів, коли в попередній версії також підтримувалися приватні методи.

.


"Вам потрібно створити один тестовий клас вручну, перш ніж майстер буде доступний" - це зробило мені трюк врешті-решт
Джордж

Дякую, я використав блог Dawa Law, і це зроблено нарешті :)
Ахмед Ельбатт

6

У бета-версії було видалено меню "Створити тести одиниць". Я не впевнений, чи є плани повернути це чи ні. Якщо це справді є проблемою для вас, запитайте це на веб-сайті Visual Studio UserVoice: http://visualstudio.uservoice.com/



4

Ви можете відновити правою кнопкою миші «Створити тести одиниць ...», імпортуючи звідси наступні настройки .


3

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

Спосіб 3 - Повторно увімкніть контекстне меню "Створення тестів ...".

Це на сьогоднішній день найкращий метод. Щоб знову ввімкнути меню Створити тести одиниць ..., перейдіть до Інструменти-> Налаштувати ..., щоб запустити діалогове вікно Налаштувати. У діалоговому вікні "Налаштувати" перейдіть на вкладку "Команди", виберіть перемикач меню "Контекст" та виберіть "Редактор меню контексту" | Вікно коду.


...і що тоді? Він уже вказаний там, але він не відображається при натисканні правою кнопкою миші.
Люк Пуплетт

0

"Ви можете виявити, що використання будь-якого з перерахованих вище методів може не працювати. Тобто Вікно команд скаже вам, що команда недоступна, ярлик клавіатури не запускається або меню контексту буде доступне, але вимкнено.

Щоб дозволити всім цим працювати, спочатку потрібно мати проект Тестового проекту у своєму рішенні. Після створення проекту Unit Test потрібно буде вручну додати елемент Unit Test до проекту, навіть якщо проект самостійно розгортається. Після цього все буде функціонувати так, як і в Visual Studio 2010. Ви можете безпечно видалити ці файли UnitTest1.cs. "

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.