ABAP单元测试最佳实践
本文包含了我在开发项目中经历过的实用的ABAP单元测试指导方针。我把它们安排成为问答的风格,欢迎任何人添加更多的Q&A's,以完成这个列表。
- 在我的项目中,只使用传统的ABAP report。所以很不幸我不能使用ABAP单元测试了,是吗?
有个好消息:无论你正在使用哪一种ABAP代码对象进行开发,都可以通过添加单元测试使得它更加稳定和更易于扩展。对于reports,模块池(module pools)和函数组(function groups),可以通过添加手写本地类的方式添加单元测试。假设一个简单的情形,在一个report中你想要测试子程序xyz的最直接调用,下面的代码骨架就可以做到,这段代码可以定义为代码模板,以便于插入到report。
class lcl_test definition for testing "#AU Duration Short inheriting from cl_aunit_assert. "#AU Risk_Level Harmless private section.
methods test_xyz_simple_call for testing.
endclass.classlcl_test implementation.
method test_xyz_simple_call.*Setup parameters for the call...*Perform the call perform xyz using ...*Check returned values assert_equals( act = ... exp =... ).
endmethod.
endclass.