Compartir a través de


Uso de la característica de pruebas de unidades con esquemas y asignaciones

En este tema se muestra el modo de usar la función de pruebas de unidad para agregar una prueba de unidad para los esquemas y la asignación al ejemplo de orquestación HelloWorld.

Nota

La característica de pruebas de unidad para asignaciones actualmente no es compatible con varias asignaciones de entrada.

Requisitos previos

En primer lugar, debe seguir los pasos para generar el ejemplo HelloWorld. Estos pasos se pueden encontrar aquí: HelloWorld (BizTalk Server Ejemplo)

Adición de un proyecto de prueba de unidad al ejemplo HelloWorld

  1. En Visual Studio, abra el archivo de soluciones HelloWorld.sln.

  2. En Explorador de soluciones, haga clic con el botón derecho en el proyecto HelloWorld y, a continuación, haga clic en Propiedades.

  3. En Project Designer, haga clic en la pestaña De la página de propiedades Implementación y establezca Habilitar pruebas unitarias en True.

  4. Cierre la página de propiedades del proyecto guardando los cambios.

  5. En el menú principal, haga clic en Compilary, a continuación, haga clic en Recompilar solución.

  6. En el menú principal, haga clic en Probary, a continuación, haga clic en Nueva prueba.

  7. En el cuadro de diálogo Agregar nueva prueba , seleccione Crear un nuevo proyecto de prueba de Visual C# para el campo Agregar al proyecto de prueba . Seleccione Asistente para pruebas unitarias en la lista Plantillas y, a continuación, haga clic en Aceptar.

  8. En el cuadro de diálogo Nuevo proyecto de prueba , deje el nombre del proyecto como TestProject1 y haga clic en Crear.

  9. En el cuadro de diálogo Crear pruebas unitarias , expanda los tipos y seleccione el constructor POSchema() en el nodo Microsoft.Samples.BizTalk.HelloWorld.POSchema . Seleccione también el constructor POToInvoice() en el nodo Microsoft.Samples.BizTalk.HelloWorld.POToInvoice . La siguiente ilustración muestra las selecciones que se deben realizar. Después de realizar las selecciones que se muestran a continuación, presione Aceptar.

    Imagen que muestra el cuadro de diálogo Crear pruebas unitarias.

Agregar código de prueba para probar los esquemas y la asignación

  1. Agregue las siguientes referencias al proyecto TestProject1 desde la pestaña .NET del cuadro de diálogo Agregar referencia:

    • Microsoft.BizTalk.TestTools

    • Tipos de base de Microsoft XLANG/s

  2. En el Explorador de soluciones, abra POSchemaTest.cs

  3. Desplácese hasta la parte inferior del archivo y reemplace el método POSchemaConstructorTest por el código siguiente que valida el mensaje de entrada de pedido de compra de ejemplo:

    [TestMethod()]
    public void POSchemaInstanceValidationTest()
    {
        POSchema target = new POSchema();
    
        //=== The SamplePOInput.xml file from <Samples Path>\Orchestrations\HelloWorld ===//
        string strSourcePO_XML = testContextInstance.TestDir + "..\\..\\..\\SamplePOInput.xml";
    
        //=== Validate the SamplePOInput message against the schema ===//
        Assert.IsTrue(target.ValidateInstance(strSourcePO_XML, Microsoft.BizTalk.TestTools.Schema.OutputInstanceType.XML));
    }
    
  4. En el Explorador de soluciones, abra POToInvoiceTest.cs y agregue la siguiente directiva a la parte superior de dicho archivo:

    
    using System.IO;
    
  5. Desplácese hasta la parte inferior del archivo y reemplace el método POToInvoiceConstructorTest por el código siguiente que prueba el mapa mediante el mensaje de entrada de po de ejemplo:

    
    [TestMethod()]
    public void POToInvoiceMapTest()
    {
        POToInvoice target = new POToInvoice();
    
        //=== Use the HelloWorld sample directory path for the message files ===//
    
        string strSourcePO_XML = testContextInstance.TestDir + "..\\..\\..\\SamplePOInput.xml";
        string strDestInvoice_XML = testContextInstance.TestDir + "..\\..\\..\\SampleInvoiceOutput.xml";
    
        //=== Test the map by using the TestMap method of the TestableMapBase class ===//
    
        target.ValidateOutput = true;
        target.TestMap(strSourcePO_XML,
                       Microsoft.BizTalk.TestTools.Schema.InputInstanceType.Xml,
                       strDestInvoice_XML,
                       Microsoft.BizTalk.TestTools.Schema.OutputInstanceType.XML);
    
        //=== Output file should be created as a result of testing the map ===//
    
        Assert.IsTrue(File.Exists(strDestInvoice_XML));
    }
    

Generar y ejecutar la prueba de la unidad

  1. En Explorador de soluciones, haga clic con el botón derecho en TestProject1 y, a continuación, haga clic en Compilar.

  2. En el menú principal, haga clic en Probary, a continuación, en la lista Windows , haga clic en Vista de prueba.

  3. En la ventana Vista de prueba, haga clic con el botón derecho en POSchemaInstanceValidationTesty, a continuación, haga clic en Ejecutar selección. Compruebe que ve Pasado en la ventana Resultados de pruebas.

  4. En la ventana Vista de prueba, haga clic con el botón derecho en POToInvoiceMapTest y, a continuación, haga clic en Ejecutar selección. Compruebe que ve Pasado en la ventana Resultados de pruebas.

  5. Si alguna prueba falla, puede hacer doble clic en ella en la ventana Resultados de la prueba para ver la aserción o excepción que ha provocado el fallo de la prueba.

Resumen de códigos de prueba

Cuando se habilitaban las pruebas unitarias para el proyecto HelloWorld , la clase de C# asociada a POSchema.xsd se derivaba de la clase Microsoft.BizTalk.TestTools.Schema.TestableSchemaBase . El método POSchemaInstanceValidationTest de TestProject1 usó el método ValidateInstance de la clase POSchema para validar SamplePOInput.xml con el esquema de pedido de compra.

De forma similar, cuando se habilitaban las pruebas unitarias para el proyecto HelloWorld , la clase de C# asociada al mapa POToInvoice.btm se derivaba de la clase Microsoft.BizTalk.TestTools.Mapper.TestableMapBase . El método POToInvoiceMaptest usó el método TestMap de la clase POToInvoice para probar el mapa con el mismo mensaje de SamplePOInput.xml. Esto provocó la creación de SampleInvoiceOutput.xml en el directorio HelloWorld.

Consulte también

Uso de la característica pruebas unitarias con canalizacionesque funcionan con pruebas unitarias (Visual Studio)