¿Cómo definir casos de prueba en flujos del FlowEngine?

¿Cómo definir casos de prueba en flujos del FlowEngine?

En este tutorial, vamos a mostrar cómo se pueden definir casos de prueba dentro del FlowEngine, sin necesidad de copiar los flujos, cambiar los enlaces o hacer ningún tipo de modificación sobre los flujos en producción.

Instrucciones

  1. Instala el nodo “node-red-contrib-flow-asserter”. Ve al menú de “Manage palette”


    y luego busca el nodo con nombre “node-red-contrib-flow-asserter“:

     

  2. Define cómo será tu flujo. Simplemente crea tu flujo según tus necesidades. Por ejemplo, crea un flujo que inserta datos en una ontología.

     

  3. Añade el nodo ”flow-asseter out node”: Este nodo define dónde se realiza la evaluación de las pruebas. En este ejemplo, querrás evaluar si la inserción ha sido satisfactoria o no, así que colócalo tras el nodo INSERT.


    Si se lanza la prueba, el mensaje no será mandado al siguiente nodo (debug msg), sino que saldrá por la salida inferior del nodo “flow-asserter in“. Cuando el flujo se ejecuta de manera normal (no los tests), este nodo se ignora.

  4. Define tus casos de pruebas añadiendo un nodo “flow-asserter in”.


    Este nodo tiene dos salidas. La superior, que se conecta con el flujo a probar, genera un mensaje para caso de prueba. La inferior mostrará el resultado de cada caso de prueba. Dentro del nodo, puedes definir tantos casos de prueba como sean necesarios:

     

    El campo “input” representa el valor que viajará hasta el flujo en el msg.payload para la prueba. Los dos campos restantes definen cómo comparar el resultado del msg.payload en el nodo “flow-asserter out“ para determinar si el test es satisfactorio. En este ejemplo, define dos pruebas:

    1. Test 0: Envía una instancia de ontología válida a insertar, por lo que puedes esperar que el nodo insert devuelva una lista de ids. En ese caso la comprobación será que el resultado de la inserción debe tener la cadena “ids”.

    2. Test 1: Envía una instancia de ontología vacía, lo que hará que el proceso de inserción falle. Como comprobación del fallo, busca que la respuesta contenga la cadena “Error processing data”.
      También hay que enlazar este nodo al “flow-asserter out” seleccionando su id en el campo “flow-asserter out node”.

  5. Guarda los cambios pulsando en el botón “Deploy”.

     

  6. Prueba la ejecución de pruebas. Pulsando en la pestaña izquierda del botón “flow-asserter in”, lanzas los distintos casos de pruebas:

     


    Cada caso de prueba genera un mensaje en el flujo, cuyos resultados puedes ver en la segunda salida:


    Incluso puedes cambiar la salida para que inserte el resultado de las pruebas en la ontología de auditoría tu nuestro usuario:

     


    Y puedes consultarlo, por ejemplo, desde el Query Tool:

     

     

  7. Probar la ejecución normal. Si lanza el flujo de manera normal, los nodos de pruebas serán ignorados.

 

Puedes encontrar más información sobre el nodo AQUÍ.

 

Es importante recordar que cada nodo ejecutado con los test persistirá su operación como si se tratara de una ejecución normal.

Artículos Relacionados

 

Filter by label

There are no items with the selected labels at this time.