Clase de test local

Para crear una clase como clase de test, tenemos que añadir las palabras claves FOR TESTING en la definición de la clase.
CLASSlcl_test DEFINITION FOR TESTING.

PUBLIC SECTION.
    METHODStest_factorial FOR TESTING.

ENDCLASS.
Para definir un método de test, tenemos que añadir las mismas palabras claves FOR TESTING en la declaración del método.
En un programa ejecutable, creamos la clase local LCL_CALCULADORA con el método de instancia SUMA que devuelve la suma de dos números. Creamos una clase de test para testear el método.

CLASS lcl_calculadora DEFINITION.
PUBLIC SECTION.
METHODS suma IMPORTING numero_1 TYPE i
numero_2 TYPE i
EXPORTING resultado TYPE i.
ENDCLASS.
CLASS lcl_calculadora IMPLEMENTATION.
METHOD suma.
resultado = numero_1 + numero_2.
ENDMETHOD.
ENDCLASS.
CLASS lcl_test DEFINITION FOR TESTING
RISK LEVEL HARMLESS
DURATION SHORT.
PUBLIC SECTION.
METHODS test_suma FOR TESTING.
ENDCLASS.
CLASS lcl_test IMPLEMENTATION.
METHOD test_suma.
DATA: lr_calculadora TYPE REF TO lcl_calculadora ,
lv_resultado TYPE i.
CREATE OBJECT lr_calculadora.
lr_calculadora->suma( EXPORTING numero_1 = 8
numero_2 = 6
IMPORTING resultado = lv_resultado ).
cl_aunit_assert=>assert_equals(
EXPORTING
exp = 20 " Data Object with Expected Type
act = lv_resultado " Data Object with Current Value
msg = 'Suma incorrecta' " Message in Case of Error
* level = " Error Severity
* tol = " Tolerance Range for Floating Point Numbers
* quit = " Flow Control in Case of Error
* ignore_hash_sequence = ABAP_FALSE " Ignore change sequence in hash tables
* RECEIVING
* assertion_failed = " Condition not met
).
ENDMETHOD.
ENDCLASS.
view raw 02_10_02.abap hosted with ❤ by GitHub

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Wishlist 0
Continue Shopping
Todos
Cursos
Máster
Todos
Cursos
Máster
Todos
Cursos
Máster