Fitnesse.FixtureReference

De iDempiere es

Feature: Referencia Fitnesse Fixture

Objetivo: Functional Testing

Sponsor: Trek Global

Descripción:

Descripción:

FitNesse ofrece diversos "estilos de tabla de prueba" (o Fixtures) para escribir sus pruebas. Cada tabla/Fixture tiene su propio uso y propósito los cuales permite a los probadores escribir pruebas de aceptación sin necesidad de apoyo de desarrollo para la escritura de fixtures de código específico para cada nueva transacción. Así, este documento va a describir qué fixtures se puede utilizar y cómo, pero antes de pasar a explicar cómo funcionan, los siguientes conceptos son importantes de entender:


  • Variable de contexto: El propósito de una variable de contexto es tener un valor visible durante la ejecución de laprueba. Hay cuatro tipos de variables de contexto
  • Definido por el usuario: @variable_name@
  • Predefinidos por Idempiere: estas variables fueron creados para mantener varios tipos de operaciones tales como:


@ SQL: permite mantener un valor devuelto por una sentencia SQL, por favor, note que otras variables de contexto se puede utilizar dentro de la sentencia SQL.

@ Ref: Permite mantener un valor de referencia a partir de una tabla específica de la columna, la estructura correcta de usarlo es "@Ref = Table[Where] Por ejemplo, la Columna.:

@ Ref. = AD_Client [Valor = 'GardenWorld']. AD_Client_ID "

@ random_number: generar un número aleatorio, acepta parámetros tales como: prefijo, sufijo, longitud y decimales.

@ random_string: generar una cadena aleatoria, acepta parámetros tales como: prefijo, sufijo, LONGITUD


  • Puede identificar una acción a causa de los asteriscos (*), depende del fixture a usar


Aviso:

1. Si los Fixture pasan con éxito , sus filas serán de color verde de lo contrario serán de color ROJO

2. Si el carácter @ se necesita en una frase, entonces debe utilizarse dos backslash, por ejemplo //@

3. ! include-c: Puede incluir una prueba que ya haya realizado


Estructura de las Tablas

  • La páginas wiki incluye alguna formas de tabla de decisión que expresan una prueba.

La estructura general para escribir la tablas de test son:

  • El caracter de exclamacion  ! debe estar en la primera linea
  • Fixture Name : Nombre del Fixture
  • *Value* : Valores relacionados con el fixture que se este ejecutando
  • Column : Columnas de la tabla
  • Variable : Variables relacionadas con el fixture
  • *Execute* : Accion a ejecutar dependiendo del fixture (*Read, *save*,*Login*, *Run*)


!|Fixture Name|
|[*Value* |Context Variable | Name's Table | User ] | (Optional)
|[Column  | Variable | Password | ] | (Optional)
|[Column] | (Optional)
|[*Execute*] | (Optional)
|[Column] | (Optional)

Set Variable

  • Asignar un valor a una Variable

Este Fixture permite asignar cualquier valor

Parametros

  • @variable@ : Nombre de la Variable que ud quiere asignar

Retorno: El Valor que asigno y queda en el contexto.


Por Ejemplo:

SetVariable.png


Como escribir la prueba:


!|Set Variable|
|@InventoryLevelBefore@|@SQL=SELECT SUM(s.qtyonhand) FROM m_storage s, m_locator l, m_warehouse w WHERE s.m_product_id=133 AND s.m_locator_id = l.m_locator_id AND l.m_warehouse_id=w.m_warehouse_id AND w.m_warehouse_id=103|



Assert Record

  • Assert Record

Este Fixture permite comparar la salida de un registro de una tabla

Parametros:

  • *Table* : Nombre de la Tabla
  • Input Columns : Columnas relacionadas con la tabla
  • Expected Values : Columnas relacionadas con la tabla


Parametros Opcionales

  • *Where* : Para definir las columnas de la sentencia SQL (opcional y se debe definir en la segunda fila)


Comando para ejecutar

  • *Read* : Para la ejecución del Fixture


Retorno:

  • Valor de salida para comparar


Por Ejemplo::

AssertRecord.png

Como escribir la prueba:

!|Assert Record|
|*Table*   |C_order             |
|c_order_id|@C_order.c_Order_id@|
|*Read*    |                    |
|GrandTotal|67.50               |

Assert Variable

  • Assert Variable

Este Fixture permite comparar una variable que ud haya definido anteriormente, variables de contexto, o retorno de los Fixture CreateRecord, readRecord


Parámetros:

  • Variables : Las variables a establecer un valor definido


Retorno: Las valores esperados


Por Ejemplo:

AssertVariable.png


Como escribir la prueba

!|Assert Variable|
|@ExpectedInventoryLevelAfter@|@SQL=SELECT SUM(s.qtyonhand) FROM m_storage s, m_locator l, m_warehouse w WHERE s.m_product_id=133 AND s.m_locator_id = l.m_locator_id AND  l.m_warehouse_id=w.m_warehouse_id AND w.m_warehouse_id=103|

Create Record

Este Fixture permite crear un nuevo registro dentro de una tabla aplicando el Modelo de Idempiere


Parametros:

  • *Table* : Nombre de la tabla
  • Value (s) : Valores de las columnas relacionadas con la tabla, que desea crear


Comando para ejecutar

  • *Save* : Para la ejecución del Fixture


Por Ejemplo:

CreateRecord.png


Como escribir la prueba:

!|Create Record|
|*Table*               |C_Order                                      |
|ad_org_id             |11                                           |
|c_doctypetarget_id    |@Ref=c_doctype[Name='POS Order'].c_doctype_id|
|salesrep_id           |101                                          |
|dateordered           |2009-03-25 00:00:00.0                        |
|c_bpartner_id         |@c_bpartner.c_bpartner_id@                   |
|c_bpartner_location_id|114                                          |
|paymentrule           |B                                            |
|m_warehouse_id        |103                                          |
|m_pricelist_id        |101                                          |
|ad_user_id            |105                                          |
|*Save*                |                                             |

Login

Este Fixture permite probar el ingreso a la aplicación, este Fixture es necesario en todas las pruebas. Tener en cuenta el Paramento Rol aplica el esquema de seguridad Idempiere

Parametros:

  • User : Nombre de usuario para ingresar
  • Password : Password relacionado con el usuario
  • AD_Client_ID : Numero ID del Cliente
  • AD_Role_ID : Numero ID del Rol
  • Language : El lenguaje con que quiere visualizar la aplicación


Parametros opcionales

  • AD_Org_ID : Numero ID de la Organización
  • M_Warehouse_ID : Numero ID de la Bodega


Comando para ejecutar

  • *Login* : Para la ejecución del Fixture


Retorno:

  • Loggeo exitoso


Por Ejemplo:

Login.png


Como escribir la prueba:

!|Login|
|User        |SuperUser|
|Password    |System   |
|AD_ClIEnT_id|0        |
|AD_Role_id  |0        |
|*Login*     |         |

Read Record

  • Leer un Registro

Este Fixture permite leer un registro de una tabla con las columnas que ud defina


Parametros:

  • *Table* : Nombre de la Tabla
  • set Columns: Columnas relacionadas que desee leer


Parametros opcionales

  • *Where* : Para definir las columnas de la sentencia SQL (opcional y se debe definir en la segunda fila)


Comando para ejecutar

  • *Read* : Para la ejecución del Fixture


Retorno

  • Todas las columnas de la tabla creada quedaran en el contexto, para ser usadas .


Por Ejemplo:

Archivo:ReadRecord.png


Como escribir la prueba:

!|Read Record|
|*Table*            |C_bpartner|
|c_bpartner_id      |120       |
|*Read*             |          |
|actuallifetimevalue|          |
|so_creditused      |          |
|totalopenbalance   |          |

Run Process

Este Fixture permite ejecutar procesos (Los Reportes no están soportados todavía)


Parametros:

  • *ProcessValue* : Nombre del Proceso


Parametros opcionales

  • *RecordID* : Numero ID del registro relacionado con el proceso
  • *DocAction* : Accion del documento que quiere realizar
  • Parameters : Las Columnas relacionadas con la tabla (opcional si no es obligatorio para el proceso), Si el paramentro escogido es de rango el segundo paramentro debe tener al final "_2" pro Ejemplo e.g. "time_2"


Comando para ejecutar

  • *Run* : Para la ejecución del Fixture


Por Ejemplo:

RunProcess.png


Como escribir la prueba:

!|Run Process|
|*ProcessValue*|C_Order Process     |
|*RecordID*    |@C_Order.C_Order_ID@|
|*DocAction*   |CO                  |
|*Run*         |                    |

Set Doc Action

Este Fixture permite implementar la acción a un documento


Parametros:

  • *Table* : Nombre de la Tabla
  • ValueID : Numero ID relacionada de la tabla
  • DocAction : Acción al documento al cual quiere realizarle, las opciones disponibles son :
            Complete = "CO"
            Approve = "AP"
            Reject = "RJ"
            Post = "PO" (posted a document)
            Void = "VO"
            Reverse Accrual = "RA"
            Invalidate = "IN"
            Re Activate = "RE"
            WaitComplete = "WC"


Comando para ejecutar

  • Save : Para la ejecución del Fixture


Por Ejemplo:

SetDocAction.png


Como escribir la prueba:

!|Set DocAction        |
|*Table*     |C_Payment|
|C_Payment_ID|100      |
|docAction   |VO       |
|*Save*      |         |
Las cookies nos ayudan a ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas nuestro uso de cookies.