Cómo: Crear una prueba unitaria ASP.NET

Actualización: noviembre 2007

Puede utilizar las pruebas unitarias de ASP.NET para probar métodos que formen parte de proyectos ASP.NET. Dispone de dos métodos para crear una prueba unitaria de ASP.NET:

  • Generar la prueba unitaria de ASP.NET desde un proyecto ASP.NET. Éste es el escenario más común.

  • Configurar una prueba unitaria existente como una prueba unitaria de ASP.NET.

También puede especificar las opciones de configuración en una configuración de ejecución que corresponden a los atributos utilizados por pruebas unitarias de ASP.NET. Estos procedimientos se describen en las siguientes secciones.

Nota:

Cuando ejecute pruebas unitarias de ASP.NET, no utilice los atributos ClassCleanupAttribute o ClassInitializeAttribute en un método de una clase que contenga una prueba unitaria ASP.NET. De igual forma, no utilice los atributos AssemblyCleanupAttribute y AssemblyInitializeAttribute en el mismo ensamblado que una prueba unitaria de ASP.NET. El resultado de utilizar estos atributos en estas situaciones es incierto. Sin embargo, puede utilizar los atributos TestInitializeAttribute y TestCleanupAttribute para cualquier prueba unitaria.

Se ejecutan secuencias de comandos de instalación y de limpieza antes y después de las ejecuciones de prueba, con independencia de los tipos de pruebas que contengan esas ejecuciones de prueba. Para obtener más información sobre las secuencias de comandos que se ejecutan junto con las ejecuciones de prueba, vea Información general sobre la implementación de pruebas y Cómo: Especificar la configuración de una ejecución de prueba.

Generar una prueba unitaria de ASP.NET

Para generar una prueba unitaria de ASP.NET, primero cree un sitio Web ASP.NET dentro de su solución Visual Studio. A continuación, agregue una clase al proyecto de sitio Web y, por último, genere una prueba unitaria a partir de esa clase.

Para generar una prueba unitaria de ASP.NET

  1. Para generar una prueba unitaria de ASP.NET, en primer lugar cree un sitio Web ASP.NET. Para ello, haga clic con el botón secundario en su solución, seleccione Agregar y, a continuación, haga clic en Nuevo sitio Web.

  2. En el cuadro de diálogo Agregar nuevo sitio Web, haga clic en Sitio Web ASP.NET.

  3. Bajo Ubicación, haga clic en Sistema de archivos, para indicar Servidor de desarrollo de ASP.NET.

  4. Haga clic en Aceptar.

    Ahora tiene un nuevo sitio Web.

  5. Agregue una clase a este proyecto. Para ello, en el Explorador de soluciones, haga clic con el botón secundario del mouse en el sitio Web y, a continuación, haga clic en Agregar nuevo elemento.

  6. En el cuadro de diálogo Agregar nuevo elemento, haga clic en Clase y, a continuación, haga clic en Agregar.

  7. Se abre un cuadro de diálogo de Microsoft Visual Studio para preguntarle si desea colocar la nueva clase en la carpeta App_Code. Haga clic en Sí.

    Nota:

    No puede generar pruebas desde el código en un archivo .aspx o en una carpeta distinta de la carpeta App_Code.

  8. Genere una prueba unitaria de ASP.NET Si el nuevo archivo de clase no está abierto, para abrirlo haga doble clic en él en el Explorador de soluciones.

  9. Haga clic con el botón secundario en la clase del archivo de clase y, a continuación, haga clic en Crear pruebas unitarias.

  10. Aparecerá el cuadro de diálogo Crear pruebas unitarias. Para obtener información acerca de cómo utilizar este cuadro de diálogo para generar pruebas unitarias, vea Cómo: Generar una prueba unitaria.

  11. Confirme que están seleccionados los métodos, las clases o los espacios de nombres para los que desea generar las pruebas.

  12. (Opcional) Acepte el Proyecto de salida predeterminado o seleccione un proyecto nuevo.

  13. Cuando termine, haga clic en Aceptar.

    La nueva prueba unitaria de ASP.NET se agrega a un archivo en su proyecto de prueba.

    Para ver la prueba unitaria, abra el archivo de prueba y desplácese hasta el final. Se han especificado automáticamente los atributos necesarios para ejecutar una prueba unitaria como una prueba unitaria de ASP.NET. Para obtener más información acerca de estos atributos, vea el procedimiento siguiente, Configurar una prueba unitaria de ASP.NET.

Configurar una prueba unitaria de ASP.NET

Puede convertir una prueba unitaria ya existente en una prueba unitaria de ASP.NET mediante su configuración, es decir, si asigna valores a determinados atributos personalizados de la prueba. Estos valores se establecen en el archivo de código que contiene la prueba unitaria.

Para poder establecer los atributos personalizados, primero debe agregar una referencia al espacio de nombres que admite los atributos personalizados; éste es el espacio de nombres Microsoft.VisualStudio.TestTools.UnitTesting.Web. Con esta referencia en contexto, IntelliSense puede ayudarle a establecer los valores de los atributos.

Nota   Cuando se genera una prueba unitaria de ASP.NET, estos atributos se definen automáticamente.

Para configurar una prueba unitaria de ASP.NET

  1. Abra el archivo de código que contiene la prueba unitaria.

  2. Defina los atributos siguientes de la prueba unitaria:

[TestMethod]

Dado que todas las pruebas unitarias requieren el atributo [TestMethod], este atributo ya estará definido.

[UrlToTest()]

Ésta es la dirección URL que se prueba al ejecutar esta prueba unitaria; por ejemplo, [UrlToTest(“https://localhost/WebSites/Default.aspx”)]

[HostType()]

Utilice [HostType(“ASP.NET”)]. Las pruebas normalmente se ejecutan bajo el proceso del host de VSTest, pero las pruebas unitarias de ASP.NET deben ejecutarse bajo el proceso del host de ASP.NET.

Ejemplos

Ejemplo 1. Si ejecuta su sitio Web con el servidor de desarrollo de ASP.NET, los atributos y valores definidos para una prueba unitaria de ASP.NET podrían parecerse a los siguientes:

[TestMethod()]

[HostType("ASP.NET")]

[UrlToTest("https://localhost:25153/WebSite1")]

[AspNetDevelopmentServerHost("D:\\Documents and Settings\\user name\\My Documents\\Visual Studio 2005\\WebSites\\WebSite1", "/WebSite1")]

Ejemplo 2. Para probar un sitio Web que se ejecuta bajo IIS, utilice únicamente los atributos TestMethod, HostType y UrlToTest:

[TestMethod()]

[HostType("ASP.NET")]

[UrlToTest("https://localhost:25153/WebSite1")]

Configurar pruebas unitarias de ASP.NET utilizando configuraciones de ejecución

Puede especificar las opciones de configuración en una configuración de ejecución que corresponden a los atributos utilizados por pruebas unitarias de ASP.NET. Una vez especificados estos atributos en una configuración de ejecución, las opciones se aplicarán cuando ejecute cualquier prueba unitaria de ASP.NET, siempre que la configuración de ejecución esté activa.

Nota:

Sólo puede estar activo un conjunto de opciones de configuración para las pruebas unitarias de ASP.NET: configuración de atributos u opciones de configuración de ejecución, pero nunca una combinación de estas dos. Las opciones de configuración de ejecución tienen precedencia sobre los atributos, si están presentes. Esto significa que aun cuando sólo especifique una configuración de ASP.NET en la configuración de ejecución, cualquier configuración de ASP.NET especificada como atributos se omitirá.

Para configurar pruebas unitaria de ASP.NET mediante la configuración de ejecución

  1. Abra un archivo de configuración de ejecución. Para obtener más información, vea Cómo: Especificar la configuración de una ejecución de prueba.

  2. En la página Host, establezca el Tipo de host en ASP.NET.

    Se mostrarán opciones adicionales, algunas de los cuales corresponden a los atributos que se pueden especificar en código, como URL para probar. Estos atributos se describen en el procedimiento anterior, "Configurar una prueba unitaria de ASP.NET."

    Cuando termine de configurar valores en la página Host, haga clic en Guardar y, a continuación, haga clic en Aceptar.

Vea también

Tareas

Cómo: Especificar la configuración de una ejecución de prueba

Cómo: Aplicar la configuración de una ejecución de prueba

Conceptos

Información general sobre las pruebas unitarias de ASP.NET

Otros recursos

Cómo: Generar una prueba unitaria