Pregunta

Descargué nUnit y TestDriven.net. Tengo una aplicación de sitio web heredada y me gustaría implementar algunas pruebas unitarias. Creé una clase en la carpeta app_code y agregué Imports NUnit.Framework, etc. Después de escribir una prueba básica, obtengo el mensaje "No se pueden ejecutar pruebas en la aplicación 'Sitio web'." error. Supongo que el proyecto del sitio web no es compatible. La conversión a una aplicación web no es una opción en este momento. Tengo Visual Studio Test Edition, así que probé esa ruta. Creé un proyecto de prueba, escribí un par de pruebas en mi clase de prueba, etc., solo para descubrir que no puedo hacer referencia a las clases en la carpeta app_code del proyecto del sitio web. ¿Alguien puede darme algunos consejos? Estoy haciendo algo mal. Soy bastante nuevo en TDD. Solo quiero implementar adecuadamente un poco de prueba en esta aplicación.

Gracias de antemano, ~ ck en San Diego

¿Fue útil?

Solución

Cree un proyecto separado para pruebas unitarias, especialmente si está utilizando un sitio web.

Probablemente no debería ser una unidad que prueba las clases en su sitio web. Por el contrario, cualquier clase que desee probar en la unidad, probablemente no debería estar en el sitio web. Más bien, deberían estar en un proyecto de biblioteca de clase al que hace referencia el sitio web.

Esta es otra razón más para no usar sitios web: no se compilan hasta que se usan, por lo que no hay una versión compilada del código en app_code para que su proyecto de prueba lo pruebe.

Los sitios web deben usarse para nada más que sitios web simples. Cualquier otra cosa es más sofisticada de lo que estaban destinados a manejar. Utilice un proyecto de aplicación web en su lugar (pero aún debe mantener el código interesante fuera del proyecto).

Otros consejos

Creo que John Saunders tiene buenos consejos. Desea probar en el sitio web una capa de presentación y aislar las clases que comprenden la lógica de negocios en una biblioteca separada para realizar pruebas. Esto le permite centrarse únicamente en los procesos que las clases están destinadas a implementar.

Entonces, ya sabes, comencé TDD con nUnit y luego usé el paquete de pruebas MS para un proyecto importante. Elegiría nUnit sobre MS, ya que era mucho más rápido.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top