2009-09-18 11 views
6

Tengo una función enterrada en el interior de un ensamblaje, eventualmente esta función será invocada por mi programa, pero realmente no quiero tener que depurarla para llegar a esta función.Extensión de Visual Studio 2008 para probar una función rápidamente? C#

No es posible obtener un módulo/complemento para visual studio 2008, donde puedo simplemente seleccionar la función que deseo ejecutar, proporcionar los parámetros, y devolverá automáticamente el valor o el mejor caso para iniciar realmente el depurador, para que se cumplan los puntos de interrupción?

Gracias ...

favor dicen si la pregunta no es lo suficientemente claro?

Respuesta

9

A veces el banco de pruebas objeto es un poco torpe; también puede usar la Ventana Inmediata mucho más simple: Depurar -> Windows -> Inmediato.

A continuación, se puede escribir:

MyNamespace.MyClass.MyStaticMethod() [enter] 

Si hay un punto de interrupción en el método, el depurador se iniciará y romper en esa posición.

Si es necesario llamar a un método de instancia:

new MyNamespace.MyClass().InstanceMethod() [enter] 

También puede crear variables y asignarles valores de retorno - a continuación, llamar a métodos en esas variables.

La ventana inmediata también se puede usar durante una sesión de depuración. Cuando un hilo está en el estado de corte, puede ejecutar métodos utilizando información (como variables en el alcance) del contexto de depuración actual. ¡Muy útil!

El único inconveniente es que cada identificador ingresado en la ventana inmediata debe estar totalmente calificado con su espacio de nombres, por lo que terminará escribiendo bastante.

+0

Otro problema es que httpContext ya no está disponible, pero en general es una buena idea. –

0

Ejecutar una pruebaNunit con un corredor de prueba

Esto supone, por supuesto, se puede burlarse/apagar las dependencias de este código. ¿Podría proporcionar el código en cuestión?

0

Si sólo tiene VS2008 Express, que no incluye la funcionalidad de pruebas, se puede usar NUnit y escribir una prueba unitaria para su método, y utilizar un corredor de prueba tales como Testdriven.NET

+0

VS 2008 Pro tiene funcionalidad de prueba. Son las ediciones estándar/express las que no. –

+0

Instalando ahora ... publicaremos comentarios ... –

+0

lo siento, quise decir estándar. Se actualizará ... –

5

Es posible que desee probar el Object Test Bench.

De MSDN:

banco de pruebas de objetos (OTB) está diseñado para sencilla prueba de nivel de objeto. Use OTB para crear instancias de los objetos del proyecto , invoque los métodos y evalúe los resultados. De esta manera, acortar la tarea de codificación, depuración y volver a codificar. Visual C#, Visual Basic y Visual J # admiten los métodos de prueba en OTB.

En el menú Ver:
alt text http://i25.tinypic.com/nx2quv.png

+0

Me encanta cómo agregar una captura de pantalla para incluso las cosas más triviales siempre gana más votos ... – Noldorin

+0

Jaja ... hemos publicado el mismo enlace para la misma cosa casi al mismo tiempo. Qué puedo decir, soy un tonto para la competencia :) Aunque, te he votado para mantener las cosas parejas. – Donut

4

Creo que estás en busca de la Object Test Bench. Esta característica fue diseñada precisamente para probar clases y métodos sobre la marcha, mientras escribe el código.

MSDN indica que deseable usar para las siguientes tareas:

  • Enseñanza objeto orientado a los conceptos de programación sin tener que pasar en la sintaxis del lenguaje.
  • Proporcionando una herramienta de prueba liviana diseñada para académicos y programadores de aficionados para usar en proyectos pequeños y simples.
  • Acortando el bucle write-debug-rewrite.
  • Prueba de clases simples y sus métodos.
  • Descubriendo el comportamiento de una biblioteca API rápidamente.

Puede acceder a ella a través View > Other Windows > Object Test Bench.

2

Crear pruebas unitarias con NUnit, y utilizar TestDriven.NET para la integración en Visual Studio

+0

+1 TestDriven es excelente. – user7116

Cuestiones relacionadas