Tests toevoegen

Tests worden verwacht in de map test op het hoofdniveau van het project. De testgevallen voor elke toepassing moeten zich in het pad test/asset-compute/<worker-name> bevinden, met één map voor elk testgeval:

action/
manifest.yml
package.json
...
test/
  asset-compute/
    <worker-name>/
        <testcase1>/
            file.jpg
            params.json
            rendition.png
        <testcase2>/
            file.jpg
            params.json
            rendition.gif
            validate
        <testcase3>/
            file.jpg
            params.json
            rendition.png
            mock-adobe.com.json
            mock-console.adobe.io.json

Heb een blik bij de toepassingen van de voorbeelddouanevoor sommige voorbeelden. Hieronder vindt u een gedetailleerde referentie.

Uitvoer testen

In de map build aan de basis van de Adobe Developer App Builder-app staan de gedetailleerde testresultaten en logboekbestanden van de aangepaste toepassing. Deze details worden ook weergegeven in de uitvoer van de opdracht aio app test .

Externe diensten koppelen

U kunt externe de dienstvraag binnen uw acties simuleren door mock-<HOST_NAME>.json dossiers voor uw testscenario's te creëren, met HOST_NAME die de specifieke gastheer is u van plan bent te animeren. Een geval van het voorbeeldgebruik is een toepassing die een afzonderlijke vraag aan S3 maakt. De nieuwe teststructuur ziet er als volgt uit:

test/
  asset-compute/
    <worker-name>/
      <testcase3>/
        file.jpg
        params.json
        rendition.png
        mock-<HOST_NAME1>.json
        mock-<HOST_NAME2>.json

Het mock-bestand is een http-reactie met JSON-indeling. Voor meer informatie, zie deze documentatie. Als er meerdere hostnamen zijn om te controleren, definieert u meerdere mock-<mocked-host>.json -bestanden. Hieronder ziet u een voorbeeldmodelbestand voor google.com genaamd mock-google.com.json :

[{
    "httpRequest": {
        "path": "/images/hello.txt"
        "method": "GET"
    },
    "httpResponse": {
        "statusCode": 200,
        "body": {
          "message": "hello world!"
        }
    }
}]

Het voorbeeld worker-animal-pictures bevat a mock dossiervoor de dienst Wikimedia die het met interactie aangaat.