1

私はいくつかのAbapユニットテストを書いています。これは単純な日付比較テストです。しかし、一貫性のないテストインストルメンテーションについてこのエラーが発生します。

テストしようとしている実際のクラスメソッド内でSAP汎用モジュールDATE_TO_DAYを呼び出していたためかもしれません。ただし、すべてのコードをコメントアウトして空のテストメソッドだけを残すと、エラーが発生します。

2つのエラーが発生します:1)一貫性のないテストインストルメンテーション(テストクラスLCL_COBRA_ELIG_TEST)2)実際のリスクが高すぎるため実行できません。

これが私のテストクラスです:

    CLASS lcl_cobra_elig_test DEFINITION FINAL FOR TESTING
                               "#AU risk_level harmless
                               "#AU duration short
                              .
    PRIVATE SECTION.
      CONSTANTS: from_date_invalid(20) TYPE c VALUE 'From-Date incorrect.',
                 to_date_invalid(20) TYPE c VALUE 'To-Date incorrect.'.

    DATA: subject TYPE REF TO lcl_report_range,
          date TYPE datum.

    METHODS:
      setup,
      test_from_date_when_mon FOR TESTING,
      teardown.
    Endclass.

    CLASS lcl_cobra_elig_test IMPLEMENTATION.
      METHOD  setup.
      ENDMETHOD.                    "teardown
      METHOD  teardown.
        CLEAR subject.
      ENDMETHOD.                    "teardown
      METHOD test_from_date_when_mon.
*       CREATE OBJECT subject
*         EXPORTING
*           im_date = '20121001'.
*       date = subject->get_from_date( ).
*       CALL METHOD cl_aunit_assert=>assert_equals
*         EXPORTING
*           act = date
*           exp = '20120929'
*           msg = from_date_invalid.
     ENDMETHOD.                    "test_from_date_when_mon

   ENDCLASS. 
4

2 に答える 2

0

ドキュメントを見てください:

リリース 7.00 拡張パック 2 より前のシステムでは、疑似コメントを使用してローカル テスト クラスのテスト プロパティを指定します。CLASS ... FOR TESTINGステートメントの後に疑似コメントを追加します。疑似コメントの構文は次のとおりです。

SYNTAX CLASS ... FOR TESTING "#AU
Risk_Level Critical|Dangerous|Harmless "#AU Duration  
Short|Medium|Long 

プログラム行ごとに 1 つの疑似コメントを指定できます。テスト クラスに 2 つのテスト属性を指定するには、CLASS ステートメントを少なくとも 2 行に広げる必要があります。このフィールドでは大文字と小文字が区別されます。

ケースの問題を修正すると、インストルメンテーションの問題が解消されます。汎用モジュールはこれに影響しません。

リスクレベルの問題に関しては、ケースの問題でも修正される可能性があります。(ドキュメントにはデフォルトのリスク レベルが記載されていません。) そうでない場合は、リスク レベルの定義を読み直し、正しいリスク レベルを設定してから、 SAUNIT_CLIENT_SETUPを使用してテストを実行できるようにします。

于 2012-10-07T08:26:02.473 に答える
0

私は推測して、属性「Risk_Level」と「Duration」は技術的にコメントであるため、大文字と小文字が区別されるのではないかと考えました。これで問題は解決しました。ケースを #AU Risk_Level Harmless と #AU Duration Short に修正しました。

于 2012-10-07T03:26:06.617 に答える