Agregar pruebas

Se esperan pruebas dentro de la carpeta test en el nivel raíz del proyecto. Los casos de prueba para cada aplicación deben estar en la ruta de acceso test/asset-compute/<worker-name>, con una carpeta para cada caso de prueba:

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

Eche un vistazo a aplicaciones personalizadas de ejemplo para ver algunos ejemplos. A continuación se muestra una referencia detallada.

Resultado de prueba

El directorio build en la raíz de la aplicación de Adobe Developer App Builder contiene los resultados detallados de las pruebas y los registros de la aplicación personalizada. Estos detalles también se muestran en la salida del comando aio app test.

Burlar servicios externos

Puede simular llamadas de servicio externas dentro de sus acciones creando mock-<HOST_NAME>.json archivos para sus escenarios de prueba, con HOST_NAME como el host específico que desea imitar. Un ejemplo de caso de uso es una aplicación que realiza una llamada independiente a S3. La nueva estructura de prueba tendría este aspecto:

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

El archivo de prueba es una respuesta http con formato JSON. Para obtener más información, consulte esta documentación. Si hay varios nombres de host para burlar, defina varios archivos mock-<mocked-host>.json. A continuación se muestra un ejemplo de archivo de simulación para google.com con el nombre mock-google.com.json:

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

El ejemplo worker-animal-pictures contiene un archivo de prueba para el servicio Wikimedia con el que interactúa.