• ABAP和Java的单元测试Unit Test


    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:
    .m2 epositoryorgapachemavenpluginsmaven-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的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

  • 相关阅读:
    [SAP HANA] HANA 安装更新工具HDBLCM
    [SAP BASIS] [TMS] TMS相关的程序和后台作业
    [sap basis] [authorization trace] Disable/enable authorization trace
    IEEE 802.11 标准列表
    802.11 wireless 七
    802.11 wireless 六
    802.11 wireless 五
    802.11 wireless 四
    802.11 wireless 三
    802.11 wireless 二
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/9191446.html
Copyright © 2020-2023  润新知