¿Dónde está la selección "Crear pruebas unitarias"?

154

He instalado el nuevo Visual Studio 2012 Ultimate.

He creado un Proyecto de prueba con mi solución y contiene algunas pruebas unitarias predeterminadas. Sin embargo, hacer clic con el botón derecho en los nuevos métodos ya no muestra el menú contextual "Crear pruebas unitarias".

Vea Visual Studio 2010 Ultimate: ingrese la descripción de la imagen aquí

Y Visual Studio 2012 Ultimate: ingrese la descripción de la imagen aquí

¿Alguna idea de por qué podría ser eso?

ACTUALIZAR:

Solución para Visual Studio 2012 y 2013:

Microsoft lo ha reconocido aquí y ofrece un trabajo oficial sobre el parche para solucionarlo. Descargar, instalar y disfrutar!

Houman
fuente
¿Son ambos el mismo proyecto o compilación de mvc?
Daniel A. White
Estos son nuevos proyectos MVC 4 construidos desde cero.
Houman
Interesante. ¿Qué sucede cuando haces clic en "Ejecutar pruebas unitarias"?
Diego
2
Yo reportaría esto como un error.
Daniel A. White
44
VS 11 se movió mucho en la dirección de proporcionar una infraestructura de prueba a través de MSTest para proporcionar un marco de prueba conectable. Esto podría ser consecuencia de esa decisión. De cualquier manera, presentaría un error
JaredPar

Respuestas:

86

Esta característica fue cortada de VS.

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

Asistente para generar pruebas unitarias: en VS2010, puede hacer clic derecho en un método en su código y generaríamos una prueba unitaria en su proyecto de prueba. Este asistente estaba muy unido a MS-Test y dependía de características como Private Accessors para hacer su trabajo, por lo que fue cortado. Estamos explorando alternativas aquí, pero todavía no tenemos buenas soluciones.

EDITAR Hay una solución : http://blogs.msdn.com/b/malaysia/archive/2013/02/20/right-click-create-unit-tests.aspx

Daniel A. White
fuente
16
Espero que encuentren una solución de trabajo. De lo contrario
Andrew Harry
3
Parece que la tercera opción en esa solución alternativa ya no está disponible en VS2013.
Sander
La funcionalidad regresa en VS2015 blogs.msdn.com/b/visualstudioalm/archive/2015/03/06/… gracias a los que votaron por ella en visualstudio.uservoice.com/forums/121579-visual-studio/… . @furier: ¿Quizás lo votaste?
LosManos
Quiero decir, estaba allí hace 5 minutos ... simplemente no está allí ahora, ¿por qué va y viene?
BrainSlugs83
33

La extensión " Unit Test Generator " está disponible

Extensión de generador de prueba de unidad

Para agregar directamente desde Visual Studio 2012/2013 IDE:

  1. Menú: Herramientas -> Extensiones y actualizaciones
  2. Haga clic en: En línea -> Galería de Visual Studio
  3. Búsqueda de: "Generador de prueba de unidad"

Video de demostración de MSDN

Nota: MSTest en VS 2012/2013 todavía apesta

JohnB
fuente
28

El elemento del menú todavía está en su lugar, pero por razones desconocidas es invisible en el editor de código. Pero puede usar los comandos de Visual Studio para ejecutar el asistente de prueba de unidad. El comando que necesitas es

EditorContextMenus.CodeWindow.CreateUnitTests

Abra la ventana de comandos y escriba el comando allí. O escriba un comando de alias de la siguiente manera

alias ut EditorContextMenus.CodeWindow.CreateUnitTests

y asigne el alias para ejecutar el comando más rápido.

Otra forma de ejecutar el asistente es el atajo de teclado. En Visual Studio abierto

Tools -> Options -> Environment -> Keyboard

Escriba "createunit" en el cuadro de texto "Mostrar comandos que contienen" para filtrar el comando CreateUnitTests, selecciónelo. Elija "Editor de texto" en el combo "Usar nuevo acceso directo en" y presione el acceso directo que desee en el campo de texto "Presione las teclas de acceso directo" (por ejemplo, Ctrl + T, Ctrl + C). Finalmente, presione el botón Asignar. ¡Disfrutar!

intruso
fuente
77
No puedo hacer que esto funcione. Puse mi cursor en el método. Presiona el shortcode que agregué pero luego recibo un mensaje: El comando "EditorContextMenus.CodeWindow.CreateUnitTests" no está disponible.
Ralph Jansen
He probado en Visual Studio 2012 Ultimate con la actualización instalada, puede ser importante.
intrueder
1
Recibo el mismo error que LockTar cuando intento esto. Entonces, la forma más fácil de usar la prueba unitaria es hacer un nuevo proyecto de prueba unitaria.
saadan
No puedo explicar por qué recibiste un error, pero tomé el video de prueba y puedes verlo en grabilla.com/02c0a-6f42a829-1535-4016-a7ff-cbbda665bee5.html
intruso
Si el asistente no está disponible, consulte el blog dl.my/2013/create-unit-tests-function-not-available-or-disabled o mi respuesta a continuación stackoverflow.com/a/15184716/52277
Michael Freidgeim
19

Aquí está cómo habilitarlo nuevamente:

Método 1 - Ventana de comandos

Si encuentra lo suficientemente difícil, descubrirá que el comando para invocar las pruebas de creación de unidades ... es en realidad:

EditorContextMenus.CodeWindow.CreateUnitTests

En realidad, puede escribir eso en la Ventana de comandos para invocar el Asistente para crear prueba de unidad. Si lo encuentra demasiado detallado, puede crear un alias para él.

alias ut EditorContextMenus.CodeWindow.CreateUnitTests

Luego simplemente escriba ut para iniciar el asistente.

Método 2 - Atajo de teclado

El siguiente método es ir a Herramientas-> Opciones-> Entorno-> Teclado y establecer una tecla de acceso directo que prefiera.

Método 3: vuelva a habilitar el menú contextual Crear pruebas unitarias ...

Para volver a habilitar el menú Crear pruebas unitarias ..., vaya a Herramientas-> Personalizar ... para iniciar el cuadro de diálogo Personalizar. En el cuadro de diálogo Personalizar, vaya a la pestaña Comandos, seleccione el botón de opción del menú contextual y elija Editor Menús contextuales | Ventana de código.

Te darás cuenta de que el elemento del menú está realmente disponible en el menú contextual. Los desarrolladores de VS tuvieron la amabilidad de dejarlo allí para nosotros.

Haga clic en el elemento de menú Crear pruebas unitarias ... y haga clic en Desplazar hacia abajo hasta que esté activado / debajo del comando "Ejecutar pruebas ...". Luego haga clic en Cerrar.

Reinicie Visual Studio 2012 y listo. ¡El menú contextual estará disponible!

Puede descubrir que usar cualquiera de los métodos anteriores puede no funcionar. es decir, la ventana de comandos le indicará que el comando no está disponible, el método abreviado de teclado no se activará o el menú contextual estará disponible pero deshabilitado.

Para permitir que todo esto funcione, primero deberá tener un Proyecto de prueba de unidad en su solución. Después de crear el Proyecto de prueba unitaria, deberá Agregar manualmente un elemento de Prueba unitaria al proyecto, aunque el proyecto se desarrolle con uno solo. Una vez que haya hecho esto, todo funcionará como en Visual Studio 2010. Puede eliminar esos archivos UnitTest1.cs de forma segura.

Fuente (con imágenes, no tengo suficientes puntos de representante para ponerlos):
http://serena-yeoh.blogspot.fr/2013/02/visual-studio-2012-create-unit-test.html

(ps: lee las advertencias !!!!)

Sebastien H.
fuente
Tenga en cuenta que VS 2012 Create Unit Tests Wizard admite pruebas de generación solo para métodos públicos, cuando en la versión anterior también se admitían métodos privados.
Michael Freidgeim
3
Eso me ha ayudado mucho, muchas gracias. Me faltaba el agregar un paso de prueba de unidad ficticia en mi remedio.
Tanveer Badar
1
Creación manual de una unidad de prueba de importante. Tonto no estoy seguro de por qué el elemento del menú estaba desactivado hasta entonces.
indolentdeveloper
Encontré lo mismo aquí también ... dawalaw.com/2013/enable-create-unit-tests-on-visual-studio-2012
Sunny Tambi
9

La respuesta de intrueder no funcionó para muchos usuarios. Cuando entro en UT en una ventana de comando, a veces tenía lo siguiente

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

Pero a veces funcionaba para la misma solución, por lo que el comportamiento parecía ser intermitente.

Con la ayuda de la publicación de Dawa Law " Crear pruebas unitarias ... Función no disponible o deshabilitada " Descubrí que durante cada sesión de Visual Studio debe crear una clase de prueba manualmente antes de que el asistente esté disponible.

Si tiene un proyecto de prueba unitaria existente en la solución,

En el Explorador de soluciones, haga clic con el botón derecho en el proyecto Prueba unitaria -> Agregar -> Prueba unitaria ... Esto creará una nueva clase de prueba unitaria y activará Visual Studio que una clase de Prueba unitaria existente está disponible, lo que permite el asistente Crear pruebas unitarias. Nota: Puede eliminar el archivo de clase de prueba de unidad creado (UnitTestX.cs) ya que se utiliza para activar la función.

Si no tiene un proyecto de Prueba de unidad existente en la solución, debe crearlo antes de agregar una clase manual:

Vaya a Archivo -> Agregar -> Nuevo proyecto ... En la ventana Agregar nuevo proyecto, seleccione Instalado -> Visual C # -> Prueba -> Proyecto de prueba unitaria. Déle un nombre significativo y haga clic en Aceptar

La función de la Ley Dawa " Crear pruebas unitarias ..." no disponible o deshabilitada tiene instantáneas para ilustrar cada paso.

Tenga en cuenta que VS 2012 Create Unit Tests Wizard admite pruebas de generación solo para métodos públicos , cuando en la versión anterior también se admitían métodos privados.

.

Michael Freidgeim
fuente
"necesitas crear una clase de prueba manualmente antes de que el asistente esté disponible" - eso me ayudó al final
Jorj
Gracias, utilicé el blog de Dawa Law y finalmente está hecho :)
Ahmed Elbatt
4

Puede recuperar el clic derecho "Crear pruebas unitarias ..." importando las siguientes configuraciones vs desde aquí .

Ley Dawa
fuente
3

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

Método 3: vuelva a habilitar el menú contextual Crear pruebas unitarias ...

Este es, de lejos, el mejor método de la historia. Para volver a habilitar el menú Crear pruebas unitarias ..., vaya a Herramientas-> Personalizar ... para iniciar el cuadro de diálogo Personalizar. En el cuadro de diálogo Personalizar, vaya a la pestaña Comandos, seleccione el botón de opción del menú contextual y elija Editor Menús contextuales | Ventana de código.

Peter Ming
fuente
...¿y entonces que? Ya aparece en la lista, pero no se muestra cuando hago clic derecho.
Luke Puplett
0

"Puede descubrir que el uso de cualquiera de los métodos anteriores puede no funcionar. Es decir, la ventana de comandos le indicará que el comando no está disponible, que el atajo de teclado no se activará o que el menú contextual estará disponible pero desactivado.

Para permitir que todo esto funcione, primero deberá tener un Proyecto de prueba de unidad en su solución. Después de crear el Proyecto de prueba unitaria, deberá Agregar manualmente un elemento de Prueba unitaria al proyecto aunque el proyecto se desarrolle con uno solo. Una vez que haya hecho esto, todo funcionará como en Visual Studio 2010. Puede eliminar con seguridad esos archivos UnitTest1.cs ".

(Michael Freidgeim)

varini
fuente