Een testcase schrijven

Deze testcase stelt de parameterized input (params.json) voor het inputdossier (file.jpg) toe produceert de verwachte PNG vertoning (rendition.png).

  1. Verwijder eerst de automatisch gegenereerde testcase van simple-worker op /test/asset-compute/simple-worker omdat deze ongeldig is, omdat onze worker de bron niet langer gewoon naar de uitvoering kopieert.

  2. Maak een nieuwe testhoofdmap op /test/asset-compute/worker/success-parameterized om te testen of de worker die een PNG-uitvoering genereert, correct wordt uitgevoerd.

  3. In de success-parameterized omslag, voeg het test inputdossiervoor dit testgeval toe en noem het file.jpg.

  4. Voeg in de map success-parameterized een nieuw bestand met de naam params.json toe dat de invoerparameters van de worker definieert:

    {
        "size": "400",
        "contrast": "0.25",
        "brightness": "-0.50"
    }
    

    Dit zijn de zelfde sleutel/de waarden die in de het profieldefinitie van Asset Compute van het Hulpmiddel van de Ontwikkelingworden overgegaan, minus de worker sleutel.

  5. Voeg het verwachte vertoningsdossieraan dit testgeval toe en noem het rendition.png. Dit bestand vertegenwoordigt de verwachte uitvoer van de worker voor de opgegeven invoer file.jpg .

  6. Voer vanaf de opdrachtregel de tests van de projectbasis uit door aio app test uit te voeren

    • Verzeker {de Desktop van 0} Docker 🔗 en het steunen van de beelden van Docker geïnstalleerd en begonnen zijn
    • Beëindig alle actieve instanties van het Hulpmiddel voor Ontwikkeling

Test - Succes

Een testcase voor foutcontrole schrijven

Met deze test wordt getest of de worker de juiste fout genereert wanneer de parameter contrast op een ongeldige waarde is ingesteld.

  1. Maak een nieuwe testhoofdmap bij /test/asset-compute/worker/error-contrast om een foutieve uitvoering van de worker te testen vanwege een ongeldige contrast -parameterwaarde.

  2. In de error-contrast omslag, voeg het test inputdossiervoor dit testgeval toe en noem het file.jpg. De inhoud van dit bestand is niet van belang voor deze test. Het bestand moet bestaan om voorbij de controle "Beschadigde bron" te komen, zodat de geldigheidscontroles van rendition.instructions kunnen worden uitgevoerd die door deze testcase worden gevalideerd.

  3. Voeg in de map error-contrast een nieuw bestand met de naam params.json toe dat de invoerparameters van de worker met de inhoud definieert:

    {
        "contrast": "10",
        "errorReason": "rendition_instructions_error"
    }
    
    • Stel contrast -parameters in op 10 , een ongeldige waarde omdat het contrast tussen -1 en 1 moet liggen om een RenditionInstructionsError -element te genereren.
    • Stel dat de juiste fout wordt gegenereerd in tests door de errorReason -toets in te stellen op de 'reden' die aan de verwachte fout is gekoppeld. Deze ongeldige contrastparameter werpt de douanefout, RenditionInstructionsError, daarom plaats errorReason aan de reden van deze fout, of rendition_instructions_error om het te bevestigen wordt geworpen.
  4. Aangezien er geen uitvoering moet worden gegenereerd tijdens een foutieve uitvoering, is er geen rendition.<extension> -bestand nodig.

  5. Voer de opdracht aio app test uit om de testsuite uit te voeren vanuit de hoofdmap van het project

    • Verzeker {de Desktop van 0} Docker 🔗 en het steunen van de beelden van Docker geïnstalleerd en begonnen zijn
    • Beëindig alle actieve instanties van het Hulpmiddel voor Ontwikkeling

Test - het contrast van de Fout