DataStage formato de especificación

Una especificación DataStage de caso de prueba es un archivo con formato JSON que utiliza una gramática alineada con la sintaxis Gherkin que utiliza la herramienta de pruebas Cucumber.

Estructura

La estructura sigue el patrón sintáctico común de Gherkin, como se muestra en el siguiente ejemplo.

{
    "given": [
        { This test data on input link 1 },
        { This test data on input link 2 }
    ],
    "when": {
        I execute the test case with these options and parameter values
    },
    "then": [
        { Expect this data to appear on output link 1 },
        { Expect this data to appear on output link 2 }
    ]
}

Dado

La matriz de Given propiedades asocia los archivos de datos de prueba en la entrada de su flujo que define los valores de prueba que desea inyectar en las entradas de su flujo en tiempo de ejecución.

Por ejemplo:
{
    "given": [
        {
            "path": "fileCustomers.csv",
            "stage": "sfCustomers",
            "link": "Customers" 
        },
        {
            "path": "fileOrders.csv",
            "stage": "sfOrders",
            "link": "Orders"
        }
    ],
}

Cuando una etapa de origen tiene varios enlaces de salida, cada entrada de la matriz de propiedades de la especificación de prueba se identifica de forma única utilizando tanto el nombre de la etapa como el del enlace para evitar ambigüedades. La matriz también incluye una path propiedad que especifica el archivo CSV que contiene los datos de prueba que se inyectarán en cada enlace de entrada.

Fuentes de búsqueda dispersas

Cuando se utiliza una fuente de entrada con una etapa de búsqueda dispersa, en lugar de utilizar la propiedad de la etapa para especificar la entrada, se puede utilizar la sparseLookup propiedad.

Por ejemplo:
{
    "given": [
        {
            "path": "fileCustomers.csv",
            "stage": "sfCustomers",
            "link": "Customers" 
        },
        {
            "sparseLookup": "SparseLookup",
            "path": "Database-Reference.csv",
            "key": [
                "KEY_COLUMN_1",
                "KEY_COLUMN_2"
            ]
        }
    ],
}
La sparseLookup propiedad identifica un objeto JSON que especifica
  • el valor que define el nombre de la etapa de referencia de búsqueda dispersa,
  • una parte del archivo de datos de prueba CSV correspondiente,
  • una lista de columnas clave que se utilizarán para la búsqueda dispersa.

Cuando

La matriz de when propiedades define qué trabajo se ejecutará durante la prueba y especifica cualquier parámetro, incluidas las macros de trabajo, que influyan en los datos de salida del trabajo. Véase el siguiente ejemplo.

La siguiente especificación sustituye los valores codificados de forma fija por las macros DSJobStartDate DSJobStartTime y y el paramStartKey parámetro :
{
    "when": {
        "data_intg_flow_ref": "3023970f-ba2dfb02bd3a",  
        "parameters": {
            "DSJobStartDate": "2012-01-15",
            "DSJobStartTime": "11:05:01",
            "paramStartKey": "100"
        }
    },
}
La parameters propiedad se puede utilizar para establecer valores fijos, como la fecha y la hora del sistema, con el fin de garantizar que los flujos produzcan resultados coherentes y repetibles durante las pruebas. Para obtener más información, consulte Flujo de pruebas mediante referencias de fecha/hora.
Nota: La data_intg_flow_ref propiedad es una referencia generada internamente DataStage al flujo y no debe modificarse.

Entonces

La matriz de then propiedades asocia los archivos de datos de prueba con los enlaces de salida de su flujo.

Por ejemplo:
{
    "then": [
        {
            "path": "ODBC_customers.csv",
            "stage": "ODBC_customer",
            "link": "customer_out"
        },
        {
            "path": "ODBC_orders.csv",
            "stage": "ODBC_order",
            "link": "order_out"
        }
    ],
}

La matriz then de propiedades identifica de forma única los enlaces mediante una combinación de los nombres de la etapa y del enlace. La matriz también contiene una path propiedad para identificar el archivo CSV de datos de prueba que contiene el resultado esperado de la prueba, que se comparará con los datos reales que aparecen en cada enlace saliente.

En la matriz then de propiedades, puede incluir otras propiedades que amplíen las capacidades de su caso de prueba, tales como:
ClusterKey
Especifique la ClusterKey propiedad para dividir el volumen alto de salida y los datos esperados en subconjuntos antes de la comparación. Para obtener más información, consulte: Uso de claves de clúster para pruebas de alto volumen de DataStage
checkRowCountonly
Utilice la checkRowCountonly propiedad para configurar su caso de prueba de modo que solo compare el número de filas de los resultados, en lugar del contenido de las filas. Para obtener más información, consulte: Comparaciones del recuento de filas.
ignore
Excluir las columnas seleccionadas de la comparación de resultados del caso de prueba. Para obtener más información, consulte: Excluir columnas de las pruebas.