我正在写一些Abap Unit测试。这是一个简单的日期比较测试。但我得到关于不一致的测试仪器的错误。
我想也许是因为我在我试图测试的实际类方法中调用SAP函数模块DATE_TO_DAY。但是,当我注释掉所有代码并且只留下空的测试方法时,我仍然会收到错误。
我收到两个错误: 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.
答案 0 :(得分:0)
我猜了一下,并认为“Risk_Level”和“Duration”属性可能区分大小写,因为它们是技术上的评论。这解决了我的问题 - 将案例修改为#AU Risk_Level Harmless和#AU Duration Short。
答案 1 :(得分:0)
在具有发布的系统中< 7.00增强包2您指定测试 使用伪注释的本地测试类的属性。添加伪
CLASS ... FOR TESTING
声明后的评论。伪 注释具有以下语法:
SYNTAX CLASS ... FOR TESTING "#AU
Risk_Level Critical|Dangerous|Harmless "#AU Duration
Short|Medium|Long
您可以为每个程序指定一个伪注释 行。要为测试类指定两个测试属性,必须进行传播 CLASS语句至少有两行。 该领域是 区分大小写的。强>
修复案例问题应该摆脱仪器问题。功能模块对此没有任何影响。
至于风险等级问题,也可以通过案例问题解决。 (文档没有说明默认风险级别是什么。)如果不是,请重新读取definition of the risk levels,设置正确的风险级别,然后使用SAUNIT_CLIENT_SETUP允许执行测试。