Compartir a través de


Comprobar sitios y servicios Web en entornos de trabajo en equipo

Actualización: noviembre 2007

Normalmente, la primera vez que pruebe un sitio Web, lo hará en su propio equipo. Pero es posible que también desee compartir sus pruebas con otros compañeros de equipo. O bien, en un entorno más formal, podría darse el caso de que trabaje en un proyecto donde se encargue de comprobar el código de producción y las pruebas en el control de código fuente, después de lo cual un laboratorio de generación utiliza las pruebas para probar el código. En cada uno de estos escenarios, las pruebas unitarias deben ser capaces de identificar el sitio web que están probando; tanto si ese sitio se encuentra en el equipo local como si no. Para permitir que el motor de pruebas identifique el sitio Web, utilice la variable %PathToWebRoot%, tal y como se describe en las siguientes secciones de este tema.

Opciones del servidor

Si el usuario está desarrollando un sitio o un servicio Web, podrá ejecutarlo utilizando el servidor de desarrollo de ASP.NET o un servidor Web como IIS. Esta opción también determina la forma de probar el sitio Web o servicio Web, tal y como se describe en las siguientes secciones:

  • Probar servicios Web con el servidor de desarrollo de ASP.NET

  • Probar sitios Web con el servidor de desarrollo de ASP.NET

Pruebas relacionadas: más información

Puede utilizar las pruebas unitarias para probar los métodos web de un servicio web, tal y como se describe en Probar servicios Web, así como para probar la lógica empresarial de un sitio web, tal y como se describe en Información general sobre las pruebas unitarias de ASP.NET. Además, puede utilizar las pruebas Web para probar páginas Web, tal y como se describe en Trabajar con pruebas Web.

Probar servicios Web con el servidor de desarrollo de ASP.NET

Para probar servicios Web utilizando el servidor de desarrollo de ASP.NET en un determinado sistema de archivos local, marque el método de prueba unitaria con el atributo AspNetDevelopmentServer. Para identificar la ubicación del sitio Web, hay que especificar la ruta de acceso a su correspondiente directorio raíz en un parámetro del atributo AspNetDevelopmentServer. Para ello, hay que utilizar la variable %PathToWebRoot%, tal y como se explica en Establecer pathToWebRoot. Para obtener más información, vea Probar servicios Web.

Para obtener más información acerca del uso y la sintaxis del atributo AspNetDevelopmentServer, vea AspNetDevelopmentServerAttribute y Probar servicios Web.

Probar sitios Web con el servidor de desarrollo de ASP.NET

Al generar una prueba unitaria de ASP.NET con el fin de probar un sitio Web en el sistema de archivos de un determinado equipo, la prueba aparecerá marcada con el atributo AspNetDevelopmentServerHost. Este atributo requiere el parámetro pathToWebApp. De forma predeterminada, una prueba unitaria de ASP.NET generada incluye la variable %PathToWebRoot% en el parámetro pathToWebApp. El valor de esta variable se establece tal y como se describe en Establecer pathToWebRoot. Para obtener más información acerca de cómo probar sitios web con el servidor de desarrollo de ASP.NET, consulte Información general sobre las pruebas unitarias de ASP.NET.

Para obtener más información acerca del uso y la sintaxis del atributo AspNetDevelopmentServerHost, vea AspNetDevelopmentServerHostAttribute y Información general sobre las pruebas unitarias de ASP.NET.

Establecer pathToWebRoot

En cada prueba unitaria que se vaya a utilizar para probar un sitio o servicio Web que se ejecuta en el servidor de desarrollo de ASP.NET, debe especificar la cadena %pathtowebroot%\\<nombre de sitio Web> en el parámetro pathToWebApp del atributo AspNetDevelopmentServer o AspNetDevelopmentServerHost. Especifique el parámetro de la siguiente forma:

  • Utilice literalmente la cadena %PathToWebRoot%. Utilice esta cadena incluso si actualmente sólo está ejecutando sus pruebas en su propio equipo. Esto proporciona a las pruebas en cuestión una flexibilidad que permite compartirlas con otros y ejecutarlas en Team Foundation Build.

    Nota:

    Si prueba varios sitios Web en su propio equipo y dichos sitios Web no comparten un directorio raíz común, es posible que desee codificar la ruta de acceso al sitio Web en cada prueba en lugar de utilizar la variable %PathToWebRoot%. Importante: codifique esta ruta de acceso únicamente cuando ejecute las pruebas localmente, dado que esto impide que comparta las pruebas de este sitio web de forma más generalizada. Acuérdese de cambiar la ruta de acceso para incluir la variable %PathToWebRoot% antes de que otras personas de su equipo prueben el sitio Web o antes de probarlo en Team Foundation Build.

  • <nombre de sitio Web> es el nombre del sitio Web que se va a probar. Escriba esta cadena exactamente como aparece el nombre del sitio Web en el Explorador de soluciones.

Para obtener un ejemplo del uso del parámetro pathToWebApp, consulte Ejemplo de método Test.

Establecer el valor de %PathToWebRoot%

La variable %PathToWebRoot% adquiere su valor de distintas formas en distintos entornos. Hay dos casos posibles:

  • Establecer %PathToWebRoot% en Team Foundation Build

  • Establecer %PathToWebRoot% en otros entornos compartidos

Establecer %PathToWebRoot% en Team Foundation Build

Cuando se utiliza en Team Foundation Build, el valor de la variable %PathToWebRoot% se deriva de la información del tipo de generación y Team Foundation Build establece este valor automáticamente.

Por ejemplo, cuando se ejecutan pruebas en la versión 'Release' de 'WebSite1', generado para la plataforma x86, el valor de PathToWeb se establece en:

<build directory>/binaries/x86/Release/_precompiled/WebSite1

Establecer %PathToWebRoot% en otros entornos compartidos

En todos los casos, salvo cuando se utiliza en Team Foundation Build, el valor de la variable %PathToWebRoot% se establece tal y como se muestra a continuación. Cuando se ejecute la prueba, el sistema buscará el valor de la variable %PathToWebRoot% en uno o varios de los siguientes lugares:

  • La ubicación predeterminada para los nuevos proyectos de sitios Web. De forma predeterminada, el sistema utiliza la ruta de acceso a la ubicación donde Visual Studio crea nuevos proyectos de sitios Web. El valor predeterminado para ello es <drive>:\Documents and Settings\<user name>\My Documents\Visual Studio 2005\WebSites\.

  • Variable de entorno PathToWebRoot. Si se ha definido esta variable de entorno en el equipo donde se ejecutan las pruebas, se utiliza su valor y se reemplaza cualquier valor de la ubicación predeterminada para nuevos proyectos de sitios Web.

  • Valor del directorio raíz de la aplicación Web. Para establecer este valor, haga clic en Herramientas y, a continuación, haga clic en Opciones, expanda Herramientas de prueba y, a continuación, haga clic en Ejecución de prueba. Si ha establecido este valor, dicho valor reemplaza cualquier valor de la variable de entorno PathToWebRoot y la ubicación predeterminada para nuevos proyectos de sitios Web.

Ejemplo de método Test

El siguiente método de prueba, que prueba un servicio Web, se marca con el atributo AspNetDevelopmentServer. El atributo AspNetDevelopmentServer requiere el parámetro pathToWebApp. El uso de la variable %PathToWebRoot% en el parámetro pathToWebApp se indica en negrita en el siguiente ejemplo.

using Microsoft.VisualStudio.TestTools.UnitTesting;
using Microsoft.VisualStudio.TestTools.UnitTesting.Web;
using TestProject1.localhost;

[TestMethod]
[AspNetDevelopmentServer("HelloWorldServer", "%PathToWebRoot%\\WebSite1")]

public void HelloWorldTest()
{
    HelloWorldService target = new HelloWorldService();

    WebServiceHelper.TryUrlRedirection(
                                       target, 
                                       TestContext,
                                       "HelloWorldServer"
                                       );

    string expected = "Hello World";
    string actual;

    actual = target.HelloWorld();

    Assert.AreEqual(
                    expected, 
                    actual,

"TestProject1.localhost.HelloWorldService.HelloWorld did not return the expected value."
                    );
}

Vea también

Tareas

Cómo: Crear una prueba unitaria

Cómo: Parametrizar un servidor web

Conceptos

Servidores Web en Visual Web Developer

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

Referencia

Microsoft.VisualStudio.TestTools.UnitTesting.Web

AspNetDevelopmentServerAttribute

AspNetDevelopmentServerHostAttribute

Otros recursos

Probar servicios Web

Cómo: Generar una prueba unitaria