资讯专栏INFORMATION COLUMN

ABAP和Java的单元测试Unit Test

cgh1999520 / 776人阅读

摘要:单元测试的执行入口,是硬编码在单元测试框架实现里的。待执行的单元测试方法通过返回到一个内表里,然后该内表,依次执行。最常用的是,可以方便地多带带触发单元测试,或者把单元测试的执行集成为的一个子步骤。

ABAP

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


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

Java

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


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

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

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

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

然后用命令行mvn install加上参数-P SlowTests只执行category为SlowTests的那些方法:


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

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/71232.html

相关文章

  • ABAPJava SpringBoot单元测试

    摘要:在类里,本地类里用关键字声明过的方法,在单元测试启动后会自动被调用到。在及的设定思路里,放在路径下面以结尾的类会被当成单元测试类处理。 ABAP 在ABAP类里,本地类(Local Class)里用关键字FOR TESTING声明过的方法,showImg(https://segmentfault.com/img/remote/1460000016898407); 在单元测试启动后会自动...

    fireflow 评论0 收藏0
  • 用Robolectric来做Android unit testing

    摘要:,他会写大量的单元测试,甚至达到。当时崇拜之极,却仍然觉得写单元测试是很麻烦的一件事情。很多人甚至说离开了单元测试,他们便没有办法写代码。这些都让我对单元测试的好感度逐渐的上升。 作为一只本科非计算机专业的程序猿,手动写单元测试是我从来没接触过的东西,甚至在几个月前,我都不知道单元测试是什么东西。倒不是说没听过这个词,也不是不知道它的大概是什么东西——用来测试一个方法,或者是一小块代码...

    CODING 评论0 收藏0
  • Android单元测试 - 几个重要问题

    摘要:言归正传,上一篇文章单元测试如何开始介绍了几款单元测试框架基本用法依赖隔离概念,本篇主要解答单元测试中几个重要问题。在单元测试交流微信群,很多新进来的小伙伴,都会几个大同小异的问题。 showImg(/img/bVEpaD?w=1080&h=715); 原文链接:http://www.jianshu.com/p/f5d197a4d83a 前言 已经一个月没写文章了,由于9月份在plan...

    ChristmasBoy 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<