Power Query SDK-testframework deel 5a: de extensieconnector testen met Visual Studio Code

Deze naslaginformatie over meerdere onderdelen heeft betrekking op het instellen en uitvoeren van een standaardpakket met tests voor Ontwikkelaars van Power Query-connectors. Deze verwijzing is bedoeld om sequentieel te worden uitgevoerd om ervoor te zorgen dat uw omgeving is ingesteld voor het testen van uw aangepaste connector.

Note

Dit artikel bevat informatie over testen met behulp van de Visual Studio Code Test Explorer. Zie Power Query SDK-testframework deel 5b: de extensieconnector testen met PowerShell voor de methode van het PowerShell-hulpprogramma.

Tot nu toe hebt u de volgende stappen uitgevoerd:

  • De omgeving instellen
  • De testgegevens geüpload
  • Het testpakket gedownload
  • Verschillende bestandsindelingen en hun functionaliteit geleerd

U bent klaar om te beginnen met het verifiëren van uw extensieconnector met het testpakket. Deze sectie is gericht op het gebruik van de geïntegreerde Test Explorer in Visual Studio Code, die een uitgebreide gebruikersinterface biedt voor het detecteren, uitvoeren en foutopsporingstests. Deze integratie maakt gebruik van de Visual Studio Code Testing API en voert tests uit met behulp van de PQTest utility's run-compare opdracht (zie PQTest run-compare documentation).

In deze sectie gaat u het volgende doen:

  • Uw werkruimte configureren voor Test Explorer
  • Het testinstellingenbestand maken en configureren
  • Tests detecteren en uitvoeren met behulp van de gebruikersinterface
  • Testresultaten weergeven en uitvoer vergelijken

Prerequisites

Als u de testverkenner-integratie wilt gebruiken, moet u de volgende vereisten hebben:

  • Visual Studio Code: versie 1.100 of hoger.

  • Power Query SDK-extensie: Zorg ervoor dat de Power Query SDK-extensie is geïnstalleerd en bijgewerkt naar versie 0.7.0 of hoger. Uw connectorproject wordt herkend door de Power Query SDK, zoals aangegeven door de sectie Power Query SDK in het deelvenster Explorer waarin de projecttaken worden weergegeven.

    Schermopname van taken in de sectie Power Query SDK.

Configuratie

Als u testverkenner wilt inschakelen om uw tests te vinden en uit te voeren, moet u een of meer specifieke testinstellingen en uw Visual Studio Code werkruimte-instellingen configureren.

1. Testinstellingenbestand (.testsettings.json)

Het .testsettings.json bestand stuurt de testdetectie aan. Dit bestand is functioneel identiek aan het instellingenbestand (.settings) dat is geïntroduceerd in de specificatie van de testindeling, maar gebruikt de .testsettings.json extensie voor expliciete identificatie door testverkenner.

U kunt een nieuw .testsettings.json bestand maken of een bestaand instellingenbestand migreren door de naam ervan te wijzigen om de .testsettings.json extensie te gebruiken. Plaats het bestand in uw project (bijvoorbeeld in uw Settings map) met de benodigde configuratie.

Belangrijk: Paden die zijn opgegeven in het .testsettings.json bestand (zoals DiagnosticsPathQueryFilePath, enzovoort) zijn naar verwachting relatief ten opzichte van de locatie van het instellingenbestand zelf.

Voorbeeld .testsettings.json:

{
  "QueryFilePath": "../TestSuites/contoso.query.pq",
  "ParameterQueryFilePath": "../ParameterQueries/contoso.parameterquery.pq",
  "DiagnosticsPath": "../Diagnostics",
  "FailOnMissingOutputFile": true
}

2. De extensie configureren

U moet de Power Query SDK configureren met de locatie van uw testinstellingen, het extensiebestand van de connector en het hulpprogramma PQTest.

  1. Open uw instellingen in Visual Studio Code.

    • Werkruimte-instellingen (voor projectspecifieke paden): Open het opdrachtenpalet (Ctrl+Shift+P of Cmd+Shift+P), typ Voorkeuren: Werkruimte-instellingen openen (JSON) en selecteer deze.
    • Gebruikersinstellingen (voor globale paden): Open het opdrachtenpalet, typ Voorkeuren: Gebruikersinstellingen openen (JSON) en selecteer deze.
  2. Voeg de volgende configuraties toe:

    • powerquery.sdk.tools.location: Het absolute pad naar de PQTest-installatiemap (met PQTest.exe). Deze instelling kan worden gedefinieerd in gebruikers - ofwerkruimte-instellingen .
      • Voorbeeld:"C:\\Users\\<username>\\.vscode\\extensions\\powerquery.vscode-powerquery-sdk-<version>\\.nuget\\Microsoft.PowerQuery.SdkTools.<version>\\tools"
    • powerquery.sdk.test.settingsFiles: De lijst met testinstellingenbestanden die moeten worden gedetecteerd. Accepteert één bestandspad, een mappad (om alle .testsettings.json bestanden binnen te detecteren) of een matrix van bestands-/mappaden. (Werkruimte-instelling )
    • powerquery.sdk.test.ExtensionPaths: De lijst met connectorextensiebestanden (.mez) die u wilt testen. Accepteert één bestandspad of een matrix met paden. Als dit niet is opgegeven, gebruikt powerquery.sdk.defaultExtension de SDK (die één pad ondersteunt). (Werkruimte-instelling )

Voorbeeld .vscode/settings.json:

{
  "powerquery.sdk.tools.location": "C:\\Users\\<username>\\.vscode\\extensions\\powerquery.vscode-powerquery-sdk-0.7.0-win32-x64\\.nuget\\Microsoft.PowerQuery.SdkTools.2.150.3\\tools",
  "powerquery.sdk.test.settingsFiles": [
    "${workspaceFolder}/Tests/Settings/MyConnector.testsettings.json"
  ],
  "powerquery.sdk.test.ExtensionPaths": [
    "${workspaceFolder}/bin/AnyCPU/Debug/MyConnector.mez"
  ]
}

Tip

U kunt variabelen ${workspaceFolder} gebruiken om paden te maken ten opzichte van de hoofdmap van uw project. Relatieve paden in settings.json worden omgezet ten opzichte van de hoofdmap van de werkruimte.

3. Referenties configureren

Als voor uw connector verificatie is vereist, moet u geldige referenties opslaan voordat u tests uitvoert. De Power Query SDK biedt een taak voor het rechtstreeks beheren van referenties vanuit de gebruikersinterface van Visual Studio Code.

Raadpleeg de sectie Referenties instellen in het overzicht van de Power Query SDK voor gedetailleerde instructies.

Detectie testen

Zodra de test is geconfigureerd, kunt u uw tests detecteren in de weergave Test Explorer.

  1. Open de weergave Testing in Visual Studio Code (Selecteer het beakerpictogram in de activiteitenbalk).

  2. De bestanden met testinstellingen worden weergegeven.

  3. Vouw de knooppunten uit om de gedetecteerde tests te zien. De hiërarchie weerspiegelt de mapstructuur.

    Schermopname van animatie met testdetectie in Test Explorer.

Tests vernieuwen

Als u nieuwe tests toevoegt, de instellingen wijzigt of de detectietest om een of andere reden mislukt, kunt u de detectie vernieuwen:

  • Alle tests vernieuwen: selecteer de knop Alle tests vernieuwen (cirkelpijlpictogram) boven aan het deelvenster TestVerkenner om tests voor alle instellingenbestanden opnieuw te ontdekken. Schermopname van animatie die laat zien hoe u alle tests voor alle instellingenbestanden van Test Explorer kunt detecteren.

  • Vernieuwingstests waarnaar wordt verwezen door een bestand met testinstellingen: beweeg de muisaanwijzer over een specifiek bestand met testinstellingen en selecteer de knop Tests vernieuwen (pictogram ronde pijl) om tests voor alleen dat bestand opnieuw te ontdekken.

    Schermopname van animatie die laat zien hoe tests voor een instellingenbestand opnieuw worden ontdekt vanuit Test Explorer.

Tests uitvoeren

U kunt tests uitvoeren op verschillende granulariteitsniveaus rechtstreeks vanuit de gebruikersinterface:

  • Alles uitvoeren: selecteer het pictogram Testen uitvoeren (pictogram Afspelen) boven aan het deelvenster.

    Schermopname van het uitvoeren van alle tests vanuit Test Explorer.

  • Groep/map uitvoeren: beweeg de muisaanwijzer over een map- of instellingenitem en selecteer de knop Test uitvoeren .

    Schermopname van het uitvoeren van een groep tests vanuit Test Explorer.

  • Afzonderlijke test uitvoeren: beweeg de muisaanwijzer over een specifiek testitem en selecteer de knop Test uitvoeren .

Note

Als u een instellingenitem uitvoert dat nog niet is gedetecteerd, detecteert de extensie automatisch de tests voordat deze worden uitgevoerd.

Wanneer tests worden uitgevoerd, worden de statuspictogrammen in realtime bijgewerkt om de voortgang weer te geven (actief, geslaagd of mislukt).

Resultaten en foutopsporing weergeven

In het deelvenster Testresultaten (standaard in het onderste deelvenster) worden de onbewerkte testresultaten van PQTest of eventuele foutberichten weergegeven. Er wordt ook de laatste uitvoeringsgeschiedenis weergegeven, met geslaagde en mislukte tests.

Diff-weergave voor fouten

Als een test mislukt omdat de uitvoer niet overeenkomt met het verwachte resultaat, biedt Test Explorer een ingebouwde diff-weergave. Selecteer de fout in het deelvenster Testresultaten om een vergelijking naast elkaar te zien van de werkelijke versus verwachte uitvoer.

Schermopname van de diff-weergave in Test Explorer met de werkelijke versus verwachte uitvoer voor een mislukte test.

Diagnostische gegevens over het vouwen van query's

Als uw testconfiguratie query folding-validatie inschakelt (door een DiagnosticsPathop te geven), vergelijkt de extensie ook de gegenereerde diagnostische gegevens op basis van de verwachte basislijn.

Als een test mislukt omdat een diagnose niet overeenkomt, kunt u het verschil tussen de bestanden Werkelijke en Verwachte diagnostische gegevens weergeven door de fout te selecteren in het deelvenster Testresultaten.

Schermopname van de diff-weergave in Test Explorer met de werkelijke versus verwachte diagnostische gegevens voor een mislukte test.

Verwachte uitvoer weergeven

U kunt snel het verwachte uitvoerbestand (.pqout) voor elke test bekijken. Selecteer het pictogram Verwachte testuitvoer weergeven (klembord) dat wordt weergegeven wanneer u de muisaanwijzer over een test beweegt of klik met de rechtermuisknop op het testitem en selecteer Verwachte testuitvoer weergeven in het contextmenu. Met deze actie opent u het bijbehorende .pqout bestand in de editor.

Schermopname van de optie Verwachte testuitvoer weergeven in Test Explorer inline en contextmenu.

Troubleshooting

Als u problemen ondervindt, controleert u de Power Query SDK uitvoerkanaal voor logboeken. Hiermee kunt u controleren of de PQTest run-compare opdracht wordt uitgevoerd en eventuele onverwachte gedragingen identificeren.

Veelvoorkomende problemen

  • PQTest.exe niet gevonden: Controleer of de powerquery.sdk.tools.location instelling naar het juiste absolute pad van de PQTest-installatiemap verwijst.
  • Ongeldige QueryFilePath- of Geen tests gedetecteerd: controleer of de paden in het bestand met testinstellingen juist zijn. QueryFilePath moet verwijzen naar een geldig .query.pq bestand of een map die deze bevat. Houd er rekening mee dat relatieve paden .testsettings.json relatief zijn ten opzichte van het instellingenbestand zelf.
  • Als u een instellingenbestand uitbreidt, doet dit niets: als een knooppunt in Test Explorer geen tests weergeeft, gebruikt u de opdracht Tests vernieuwen (pictogram vernieuwen inline met het instellingenitem) om detectie opnieuw te activeren.

Conclusion

In deze sectie hebt u gezien hoe u de Visual Studio Code Test Explorer kunt gebruiken om uw connectortests efficiënt te detecteren, uit te voeren en fouten op te sporen. Deze op gebruikersinterface gebaseerde benadering biedt een gestroomlijnd alternatief voor de opdrachtregelprogramma's.

In de volgende sectie leert u hoe u uw eigen aangepaste tests toevoegt aan het framework.

Volgende stappen 

Power Query SDK-testframework deel 6: uw tests toevoegen