Tutorial: Crear y ejecutar una prueba unitaria de Smart Device

Actualización: noviembre 2007

Este tutorial explica cómo crear, ejecutar y personalizar una serie de pruebas utilizando Herramientas para pruebas Team System para proyectos de dispositivos. Se empieza con una aplicación para Smart Device de C# que está en desarrollo. A continuación se crean un proyecto de prueba y una prueba unitaria, se ejecuta la prueba y se examinan los resultados.

Nota:

Es posible que su equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio incluidos en las instrucciones siguientes. La edición de Visual Studio que se tenga y la configuración que se utilice determinan estos elementos. Para obtener más información, vea Valores de configuración de Visual Studio.

En este tutorial, se realizarán las siguientes tareas:

  • Abra un proyecto existente y cree un método.

  • Cree una prueba unitaria y un proyecto de prueba de dispositivo.

  • Vea la configuración de ejecución.

  • Ejecute una prueba unitaria.

  • Ejecute una prueba unitaria desde un símbolo del sistema.

Requisitos previos

Para poder comenzar este tutorial, primero debe completar los procedimientos siguientes Tutorial: Crear aplicaciones de Windows Forms para un dispositivo. El tutorial de requisitos previos instala .NET Compact Framework 2.0 en el emulador Pocket PC 2003 necesario para completar este tutorial. Deje la ventana del emulador abierta o guarde el estado del emulador. Para obtener más información, vea Archivos de estado guardado.

Abrir un proyecto existente y crear un método

Para abrir un proyecto existente y crear un método

  1. Inicie Visual Studio.

  2. En el menú Archivo, elija Abrir y, a continuación, haga clic en Proyecto o solución.

    Aparecerá el cuadro de diálogo Abrir proyecto.

  3. Navegue al proyecto DeviceSample que creó en el tutorial de requisito previo y, a continuación, haga clic en Aceptar.

    Se muestra el proyecto DeviceSample en el Explorador de soluciones.

  4. Para abrir el archivo Form1.cs (C#) o Form1.vb (Visual Basic) en el Editor de código, en el Explorador de soluciones, haga clic con el botón secundario en el archivo y, a continuación, haga clic en Ver código.

  5. Coloque el cursor en la clase Form1.

  6. Inserte el código siguiente:

    public int Add(int a, int b) {return a + b;}
    
    Public Function Add(ByVal a As Integer, ByVal b As Integer) As Integer 
        Return a + b
    End Function 'Add
    
  7. En el menú Generar, haga clic en Generar solución.

    Tiene ahora un proyecto denominado DeviceSample que contiene el código fuente para comprobar. El espacio de nombres de DeviceSample, DeviceSample, contiene la clase pública Form1 cuyo método comprobará en los procedimientos siguientes.

Crear una prueba unitaria y un proyecto de prueba de dispositivo

Para crear una prueba unitaria y un proyecto de prueba de dispositivo

  1. Para abrir el archivo Form1.cs (C#) o Form1.vb (Visual Basic) en el Editor de código, en el Explorador de soluciones, haga clic con el botón secundario en el archivo y, a continuación, haga clic en Ver código.

    Nota:

    El proyecto DeviceSample contiene el código que desea probar, también llamado el código en pruebas.

  2. En la clase Form1, desplácese al método Add.

  3. Haga clic con el botón secundario en el método Add y seleccione Crear pruebas unitarias.

    Aparecerá el cuadro de diálogo Crear pruebas unitarias.

    En el panel Selección actual, una estructura de árbol muestra la jerarquía de las clases y los miembros del ensamblado que contiene la clase Form1. Desde esta página puede generar pruebas unitarias para cualquier selección de los miembros mostrados, así como elegir un proyecto de prueba en el que colocar las pruebas unitarias generadas.

    En la estructura de árbol, sólo está seleccionado el método Add. Manténgalo seleccionado.

  4. Para Proyecto de salida, haga clic en Crear proyecto de prueba de Visual C# para dispositivos inteligentes.

    Nota:

    No hace falta que el lenguaje del proyecto de prueba sea el mismo que el del proyecto. Para obtener un ejemplo, puede crear un proyecto de prueba de Visual C# para dispositivos inteligentes en un proyecto de dispositivos de Visual Basic.

  5. Haga clic en Configuración.

    Aparece el cuadro de diálogo Configuración de generación de la prueba. En el grupo Configuración de nombres, puede cambiar la manera en que se asignan nombres a los archivos, las clases y los métodos de prueba cuando se generan. En el grupo General, puede cambiar otros aspectos de generación de la prueba. Conserve los valores predeterminados para esta configuración y, a continuación, haga clic en Aceptar.

  6. En el cuadro de diálogo Crear pruebas unitarias, haga clic en Aceptar.

    Aparecerá el cuadro de diálogo Nuevo proyecto de prueba.

  7. Acepte el nombre predeterminado y haga clic en Crear.

    Se creará un proyecto denominado TestProject1, que contiene la prueba unitaria, un archivo denominado DeviceSample.vsmdi, que contiene información sobre las listas de pruebas y las pruebas, y un archivo llamado SmartDeviceTestRun.testrunConfig que contiene información referente a dónde y cómo se ejecutará la prueba.

    A este proyecto de prueba se agrega un archivo llamado Form1Test.cs que contiene una clase de prueba.

    Nota:

    Se asigna automáticamente a cada método de prueba el atributo TestMethod(). Cada prueba corresponde a un método único en el código en pruebas que se desea probar. Los métodos de prueba se incluyen en una clase de prueba a la que se asigna el atributo TestClass().

  8. En Form1Test.cs, especifique valores para las variables que se van a probar. Desplácese al método AddTest, donde verá tres líneas // TODO que indican las variables para establecer, a saber, a, b y expected.

  9. Establezca los siguientes valores:

    int a = 4;
    int b = 5;
    int expected = 9;
    

    Esto especifica que se espera un valor devuelto de 9 al llamar al método con valores de 4 y 5.

  10. Marque como comentario esta instrucción Assert.

    Assert.Inconclusive("Verify the correctness of this test method.");
    

    Esta instrucción Assert restante compara el resultado esperado (9) con el resultado real de una llamada al método Add de la clase Form1. Si los dos valores no coinciden, la instrucción Assert devuelve False, con lo que la prueba no se supera.

  11. Guarde el archivo Form1Tests.cs.

    Ha creado un archivo de código fuente que contiene pruebas para el proyecto DeviceSample. Ahora está listo para ejecutar las pruebas en la clase Form1Test del código del proyecto DeviceSample.

Vea la configuración de ejecución.

Para ver la configuración de ejecución

  1. En el Explorador de soluciones, haga doble clic en el archivo llamado SmartDeviceTestRun.testrunConfig.

  2. Haga clic en Hosts.

  3. Compruebe si Host type está establecido en Smart Device, Platform está establecido en Pocket PC 2003 y Device está establecido en Pocket PC 2003 SE Emulator.

  4. Haga clic en Cerrar para salir.

    Ha visto la configuración de ejecución que especifica el contexto para ejecutar las pruebas.

Ejecutar un prueba unitaria

Para ejecutar y personalizar una prueba unitaria

  1. En el menú Prueba, seleccione Ventanas y, a continuación, haga clic en Vista de pruebas.

    Se abre la ventana Vista de pruebas.

  2. Haga clic con el botón secundario en AddTest y seleccione Ejecutar selección.

    Visual Studio implementa la prueba en el emulador de dispositivos y la ejecuta. Si la ventana Resultados de pruebas no estaba abierta, se abrirá ahora.

    En la columna Resultado de la ventana Resultados de pruebas, el estado de la prueba se muestra como En ejecución cuando se ejecute la prueba. Cuando finaliza la ejecución de la prueba, el resultado de la prueba cambia a Correcto.

    Nota:

    Al implementar las pruebas, Visual Studio no implementa e instala automáticamente .NET Compact Framework ni SQL Server Compact 3.5 en el dispositivo de destino o emulador. El emulador o dispositivo deben hacer que se instalen antes de ejecutar una prueba. Para obtener más información, vea Cómo: Instalar .NET Compact Framework en un dispositivo y Cómo: Instalar SQL Server Compact 3.5 en un dispositivo.

  3. En la ventana Resultados de pruebas, haga doble clic en la fila que representa la prueba.

    Se abrirá la página Detalles de resultados, que contiene información sobre los resultados de la prueba.

    Ha ejecutado el método AddTest generado de su clase de prueba Form1Test y ha visto los resultados.

Ejecutar una prueba unitaria desde un símbolo del sistema

Para ejecutar y personalizar una prueba unitaria

  1. Haga clic en Inicio, seleccione Todos los programas, Microsoft Visual Studio 2008, Visual Studio Tools y haga clic en Símbolo del sistema de Visual Studio 2008.

    El símbolo del sistema se abre en la carpeta: unidad:\Archivos de programa\Microsoft Visual Studio 9.0\VC.

  2. Abra la carpeta que contiene el ensamblado generado a partir de su proyecto de prueba.

    Para ello, en primer lugar vaya a la carpeta de su solución. Para la solución DeviceSample que se creó en el tutorial de requisitos previos, esta carpeta es: unidad:\Users\nombreDeUsuario\Mis Documentos\Visual Studio\Projects\DeviceSample. A continuación, vaya a la carpeta de su proyecto de prueba, escribiendo el comando siguiente en el símbolo del sistema:

    cd TestProject1\bin\Debug

    Nota:

    También puede ejecutar MSTest.exe desde cualquier carpeta, si especifica la ruta de acceso completa.

    Esta carpeta contiene el proyecto de prueba que creó en los procedimientos de creación y ejecución de pruebas unitarias. El ensamblado del proyecto de prueba, TestProject1.dll, contiene algunas pruebas unitarias.

    Nota:

    Su proyecto de código de producción y su proyecto de prueba generarán ensamblados distintos. Asegúrese de ejecutar el programa de línea de comandos en el ensamblado del proyecto de prueba, no en el ensamblado de su proyecto de código de producción.

  3. Utilice la utilidad de línea de comandos para probar la aplicación.

    Escriba lo siguiente en una línea de comandos:

    MSTest /testcontainer:TestProject1.dll /runconfig:..\..\..\SmartDevicetestrun.testrunconfig

    Nota:

    Cuando ejecute pruebas unitarias en dispositivos inteligentes, debe especificar la opción /runconfig.

    Este comando ejecuta todas las pruebas del ensamblado y devuelve resultados como los siguientes:

    Cargando testproject1.dll...

    Iniciando la ejecución...

    Resultados Pruebas de nivel superior

    ------- ---------------

    Superada TestProject1.Form1Test.AddTest

    1/1 prueba(s) superada(s)

    Resumen

    -------

    Ejecución de prueba completada.

    Superadas 1

    ---------

    Total 1

    Archivo de resultados: <ruta>\<nombre de ejecución de pruebas>.trx

    Configuración de ejecución: Configuración de ejecución predeterminada

    Nota:

    El archivo .trx generado por la ejecución de mstest.exe se puede abrir en Visual Studio para un estudio complementario de los resultados de las pruebas. Para obtener más información acerca de todas las opciones que puede utilizar con el comando MSTest, vea Opciones de la línea de comandos para MSTest.exe.

    La utilidad de la línea de comandos MSTest.exe es especialmente útil para automatizar las ejecuciones de prueba, se inicien en archivos de proceso por lotes u otras utilidades.

Vea también

Conceptos

Marco de pruebas unitarias

Otros recursos

Trabajar con pruebas unitarias

Herramientas de prueba para proyectos de Smart Device