温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ABAP和Java的单元测试Unit Test

发布时间:2020-08-08 15:38:31 阅读:143 作者:i042416 栏目:移动开发
Java开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

ABAP

ABAP class单元测试的执行入口,CLASS_SETUP, 是硬编码在单元测试框架实现CL_AUNIT_TEST_CLASS里的。


ABAP和Java的单元测试Unit Test
ABAP和Java的单元测试Unit Test

待执行的单元测试方法通过CL_AUNIT_TEST_CLASS~get_Test_Methods返回到一个内表里,然后LOOP该内表,依次执行。


ABAP和Java的单元测试Unit Test
ABAP和Java的单元测试Unit Test

Java

最常用的Maven plugin是maven-surefire-plugin,可以方便地单独触发单元测试,或者把单元测试的执行集成为Maven build的一个子步骤。

ABAP和Java的单元测试Unit Test

下图表明在执行mvn clean install时,执行了srv/test/java/com/sap/testcase下面的两个test case:


ABAP和Java的单元测试Unit Test

那么maven-surefire-plugin是如何知道哪些.java文件里面的测试方法需要执行呢?
到这个目录下面打开maven-surefire-plugin的实现文件SurefirePlugin.class:
.m2\repository\org\apache\maven\plugins\maven-surefire-plugin\2.20\maven-surefire-plugin-2.20\org\apache\maven\plugin\surefire

反编译出来,在getDefaultIncludes里面发现了答案:所有符合后缀Test*.java, Tests.java, TestCase.java结尾的Java文件都作为执行单元测试的候选,


ABAP和Java的单元测试Unit Test

Java里单元测试的灵活之处在于可以给同一class里的不同方法指定不同的Category:


ABAP和Java的单元测试Unit Test

然后用命令行mvn install加上参数-P SlowTests只执行category为SlowTests的那些方法:
ABAP和Java的单元测试Unit Test
ABAP和Java的单元测试Unit Test

关于@Category注解的更多高级用法,参考我的SAP Community 博客: Run only given sets of your unit test via @Category

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

ABAP和Java的单元测试Unit Test
ABAP和Java的单元测试Unit Test

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:http://blog.itpub.net/24475491/viewspace-2156263/

AI

开发者交流群×