Freigeben über


Verwenden des Komponententest-Features mit Schemas und Zuordnungen

In diesem Thema wird demonstriert, wie Sie mithilfe des Komponententest-Features einen Komponententest für die Schemas und die Zuordnung im Beispiel für die HelloWorld-Orchestrierung hinzufügen.

Hinweis

Das Komponententest-Feature für Zuordnungen unterstützt zurzeit keine Zuordnungen mit mehrfachen Eingaben.

Voraussetzungen

Sie müssen zuerst die Schritte zum Erstellen des HelloWorld-Beispiels befolgen. Diese Schritte finden Sie hier: HelloWorld (BizTalk Server Beispiel)

Hinzufügen eines Komponententestprojekts zum HelloWorld-Beispiel

  1. Öffnen Sie in Visual Studio die Projektmappendatei HelloWorld.sln.

  2. Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf das Projekt HelloWorld, und klicken Sie dann auf Eigenschaften.

  3. Klicken Sie in Project Designer auf die Eigenschaftenregisterkarte Bereitstellung, und legen Sie Komponententests aktivieren auf festTrue.

  4. Schließen Sie die Projekteigenschaftenseite, und speichern Sie dabei die Änderungen.

  5. Klicken Sie Standard Menü auf Erstellen, und klicken Sie dann auf Projektmappe neu erstellen.

  6. Klicken Sie im Menü Standard auf Test und dann auf Neuer Test.

  7. Wählen Sie im Dialogfeld Neuen Test hinzufügen die Option Neues Visual C#-Testprojekt erstellen für das Feld Zu Testprojekt hinzufügen aus. Wählen Sie komponententest-Assistent in der Liste Vorlagen aus, und klicken Sie dann auf OK.

  8. Übernehmen Sie im Dialogfeld Neues Testprojekt den Projektnamen TestProject1 , und klicken Sie auf Erstellen.

  9. Erweitern Sie im Dialogfeld Komponententests erstellen die Typen, und wählen Sie unter dem Knoten Microsoft.Samples.BizTalk.HelloWorld.POSchema den POSchema()-Konstruktor aus. Wählen Sie auch poToInvoice() -Konstruktor unter dem Knoten Microsoft.Samples.BizTalk.HelloWorld.POToInvoice aus. In der folgenden Abbildung sind die Optionen dargestellt, die ausgewählt werden müssen. Nachdem Sie die unten gezeigten Auswahl getroffen haben, drücken Sie OK.

    Abbildung des Dialogfelds

Hinzufügen von Testcode zum Testen der Schemas und der Zuordnung

  1. Fügen Sie auf der Registerkarte .NET im Dialogfeld Verweis hinzufügen die folgenden Verweise auf das Projekt TestProject1 hinzu:

    • Microsoft.BizTalk.TestTools

    • Microsoft XLANG/s-Basistypen

  2. Öffnen Sie im Projektmappen-Explorer POSchemaTest.cs.

  3. Scrollen Sie zum Ende der Datei, und ersetzen Sie die POSchemaConstructorTest-Methode durch den folgenden Code, der die Beispiel-PO-Eingabenachricht überprüft:

    [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. Öffnen Sie im Projektmappen-Explorer POToInvoiceTest.cs, und fügen Sie die folgende Direktive am Anfang der Datei hinzu:

    
    using System.IO;
    
  5. Scrollen Sie zum Ende der Datei, und ersetzen Sie die POToInvoiceConstructorTest-Methode durch den folgenden Code, der die Zuordnung mithilfe der Beispiel-PO-Eingabenachricht testet:

    
    [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));
    }
    

Erstellen und Ausführen des Komponententests

  1. Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf TestProjekt1, und klicken Sie dann auf Erstellen.

  2. Klicken Sie im Menü Standard auf Test, und klicken Sie dann in der Liste Windows auf Testansicht.

  3. Klicken Sie im Fenster Testansicht mit der rechten Maustaste auf POSchemaInstanceValidationTest, und klicken Sie dann auf Auswahl ausführen. Vergewissern Sie sich, dass im Fenster Testergebnisse "Bestanden " angezeigt wird.

  4. Klicken Sie im Fenster Testansicht mit der rechten Maustaste auf POToInvoiceMapTest, und klicken Sie dann auf Auswahl ausführen. Vergewissern Sie sich, dass im Fenster Testergebnisse "Bestanden " angezeigt wird.

  5. Wenn einer der Tests fehlschlägt, können Sie im Fenster Testergebnisse auf den Test doppelklicken, um den Assert-Fehler oder die Ausnahme anzuzeigen, von dem/der der Testfehler verursacht wurde.

Testcodezusammenfassung

Als Komponententests für das HelloWorld-Projekt aktiviert wurden, wurde die C#-Klasse, die POSchema.xsd zugeordnet ist, von der Microsoft.BizTalk.TestTools.Schema.TestableSchemaBase-Klasse abgeleitet. Die POSchemaInstanceValidationTest-Methode in TestProject1 verwendet die ValidateInstance-Methode der POSchema-Klasse , um SamplePOInput.xml anhand des PO-Schemas zu überprüfen.

Ebenso wurde beim Aktivieren von Komponententests für das HelloWorld-Projekt die C#-Klasse, die der POToInvoice.btm-Zuordnung zugeordnet ist, von der Microsoft.BizTalk.TestTools.Mapper.TestableMapBase-Klasse abgeleitet. Die POToInvoiceMaptest-Methode verwendet die TestMap-Methode der POToInvoice-Klasse , um die Zuordnung mit derselben SamplePOInput.xml Nachricht zu testen. Hieraus resultiert, dass SampleInvoiceOutput.xml im Verzeichnis HelloWorld erstellt wird.

Weitere Informationen

Verwenden des Komponententestfeatures mit Pipelines, die mit Komponententests arbeiten (Visual Studio)