Ansicht
Dokumentation

CL_RBAMRT_UNIT_TEST_FIXTURE - Tabellengesteuerte RBAM Runtime Unit-Tests

CL_RBAMRT_UNIT_TEST_FIXTURE - Tabellengesteuerte RBAM Runtime Unit-Tests

RFUMSV00 - Advance Return for Tax on Sales/Purchases   CPI1466 during Backup  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Die Klasse CL_RBAMRT_UNIT_TEXT_FIXTURE ist die Fixture-Klasse zum RBAM Runtime Scenario Test.

Der RBAM Runtime Scenario Test prüft die folgenden Interfaces:

  • Package SRBAMRT (IF_RBAMRT_RUNTIME, CL_RBAMRT_IMPL)
  • authorization_check

  • Package SRBAMRTAPI (CL_RBAM_AUTHORIZATION_CHECK)
  • authorization_check_bo_node_id

  • authorization_check_bo_node

  • get_granted_users_bo_node

An Stelle von hunderten einzelner Unit-Testmethoden benutzt die Klasse einen Tabellen gesteuerten Ansatz. Diese Tabellen werden im Weiteren auch als Matrix oder Prüfmatrix bezeichnet. Um eine Prüfmatrix verarbeiten zu können, leitet sich die Klasse vom IAT-Framework (Packet SFIT_HOME) ab (CL_IAT_COLUMN_FIXTURE_EX). Das IAT-Framwork verwendet HTML-Dokumente als Eingabe-Tabellen. Der Name der Fixture-Klasse muss in der ersten Zeile des HTML-Matrix-Dokuments enthalten sein. Eine Matrix wird immer von der Klasse verarbeitet, die in der ersten Zeile der Matrix steht. Während des Ablaufs des Fixture-Tests wird die Testmatrix interpretiert und daraus die Testfälle für die einzelnen Interfaces erstellt und anschließend ausgeführt.

Die Testmatrizen werden im Mime-Repository unter dem Pfad /SAP/BC/RBAM/Testdata/Runtime/Input/ abgelegt.

Die Tests werden auf den beiden RBAM-Test-Business Objekte RBAMTEST_CUSTOMER und RBAMTEST_INVOICE mit den Operationen RETRIEVE, SAVE und ANY durchgeführt.

Evtl. Abweichungen von den erwarteten Testergebnis werden im ABAP-Unit-Test-Browser angezeigt.

Beziehungen

Die Klasse wird vom Unit-Test-Programm RBAMTEST_INTEGRATION_MATRIX verwendet.

Beispiel

Vereinfachtes Beispiel einer Testmatrix für das BO Customer, die Instanzen C1 bis C3, die Benutzer U0 bis U3 und die Operation Save. In der Matrix stehen die erwarteten Berechtigungsentscheidungen (D = Deny, G = Grant).

CL_RBAMRT_UNIT_TEST_FIXTURE

Customer ACL Name UUID Operation U0 U1 U2 U3
C1     Save D G D D
C2 ZTST SAP-DE 2{31*0} Save D G G G
C3 ZTST SAP-DE 2{31*0} Save D G G D

Beispiel für den Start eines Fixture-Tests:

************************************************************************
* Authorization check: BO Custome, Operation Retrieve
************************************************************************
  METHOD auth_check_customer_retrieve.

    DATA: lt_args    TYPE cl_iat_parse=>args.
    DATA: ls_arg     TYPE cl_iat_parse=>arg.
    DATA: lf_message TYPE string.

*   Check if this test should run (used only for debug reasons)
    IF mf_do_not_run_retrieve = abap_true OR
       mf_do_not_run_customer = abap_true OR
       mf_do_not_run_single   = abap_true.
      RETURN.
    ENDIF.

*   The order of arguments must correspond to the processing in method
*   handle_arguments of fixture class cl_rbamrt_unit_test_fixture
*   1th argument: file name of text matrix
    ls_arg = '/SAP/BC/RBAM/Testdata/Runtime/Input/Testmatrix Customer Retrieve.htm'.
    APPEND ls_arg TO lt_args.
*   2nd argument: file name of text matrix receiving the result of test
*    ls_arg = '/SAP/BC/RBAM/Testdata/Runtime/Result/Testmatrix Customer Retrieve.htm'.
*    APPEND ls_arg TO lt_args.
    CLEAR ls_arg.
    APPEND ls_arg TO lt_args.
*   3rd argument: indicates that multi BO node tests should be done
    CLEAR ls_arg.
    APPEND ls_arg TO lt_args.
*   4th argument: contains break point settings if requested
    ls_arg = mf_breakpoint.
    APPEND ls_arg TO lt_args.

    lf_message = cl_iat_testrunner=>run( lt_args ).
    IF substring( val = lf_message len = 6 ) = 'Error:'.
      cl_aunit_assert=>fail( msg = lf_message ).
    ENDIF.

  ENDMETHOD.

Der Methodenaufruf akzeptiert als einzigen Importparameter eine Tabelle von Argumenten (lt_args).

  • Das erste Argument ist immer der Name der Prüfmatrix (HTML-Datei), die im Mime Repository gespeichert sein muss.
    Alle anderen Argumente sind optional.
  • Das zweite Argument ist der Name einer Ergebnisdatei.
  • Das dritte Argument entscheidet, ob der Test mit mehreren Instanzen durchgeführt werden soll.
  • Das vierte Argument kann Anweisungen für Debugging-Zwecke enthalten.

Hinweise

Weiterführende Informationen






BAL Application Log Documentation   rdisp/max_wprun_time - Maximum work process run time  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 6998 Date: 20240425 Time: 120026     sap01-206 ( 55 ms )