ABAP Keyword Documentation →  ABAP − Reference →  program editing →  Testing and Checking Programs →  ABAP Unit → 

METHODS - FOR TESTING

Short Reference

Syntax

METHODS meth [ABSTRACT|FINAL]
  FOR TESTING
  [RAISING exc1|RESUMABLE(exc1) exc2|RESUMABLE(exc2) ...].


Effect

This statement is only possible in a test class. It declares a test method that is called during as a single test during a test run. A test can be programmed in the method implementation. To check the test assumptions, static methods from the class CL_ABAP_UNIT_ASSERT are used, such as:

The data is evaluated using the ABAP Unit Framework.

The same applies to the additions ABSTRACT, FINAL, and RAISING as to the general instance methods.

Notes

Example

Definition of a test class mytest with a test method mytest that checks the value of the text attribute after the method set_text_to_x of the class myclass has been called. In this example, the ABAP Unit test reports an error since the value "X" is expected instead of "U".

* Productive classes

CLASS myclass DEFINITION.
  PUBLIC SECTION.
    CLASS-DATA text TYPE string.
    CLASS-METHODS set_text_to_x.
ENDCLASS.

CLASS myclass IMPLEMENTATION.
  METHOD set_text_to_x.
    text = 'U'.
  ENDMETHOD.
ENDCLASS.

* Test classes

CLASS mytest DEFINITION FOR TESTING RISK LEVEL HARMLESS.
  PRIVATE SECTION.
    METHODS mytest FOR TESTING.
ENDCLASS.

CLASS mytest IMPLEMENTATION.
  METHOD mytest.
    myclass=>set_text_to_x( ).
    cl_abap_unit_assert=>assert_equals( act = myclass=>text
                                        exp = 'X' ).
  ENDMETHOD.
ENDCLASS.