ABAP和Java的单元测试Unit Test
ABAP
ABAP class單元測試的執(zhí)行入口,CLASS_SETUP, 是硬編碼在單元測試框架實現(xiàn)CL_AUNIT_TEST_CLASS里的。
待執(zhí)行的單元測試方法通過CL_AUNIT_TEST_CLASS~get_Test_Methods返回到一個內(nèi)表里,然后LOOP該內(nèi)表,依次執(zhí)行。
Java
最常用的Maven plugin是maven-surefire-plugin,可以方便地單獨觸發(fā)單元測試,或者把單元測試的執(zhí)行集成為Maven build的一個子步驟。
下圖表明在執(zhí)行mvn clean install時,執(zhí)行了srv/test/java/com/sap/testcase下面的兩個test case:
那么maven-surefire-plugin是如何知道哪些.java文件里面的測試方法需要執(zhí)行呢?
到這個目錄下面打開maven-surefire-plugin的實現(xiàn)文件SurefirePlugin.class:
.m2\repository\org\apache\maven\plugins\maven-surefire-plugin\2.20\maven-surefire-plugin-2.20\org\apache\maven\plugin\surefire
反編譯出來,在getDefaultIncludes里面發(fā)現(xiàn)了答案:所有符合后綴Test*.java, Tests.java, TestCase.java結(jié)尾的Java文件都作為執(zhí)行單元測試的候選,
Java里單元測試的靈活之處在于可以給同一class里的不同方法指定不同的Category:
然后用命令行mvn install加上參數(shù)-P SlowTests只執(zhí)行category為SlowTests的那些方法:
關(guān)于@Category注解的更多高級用法,參考我的SAP Community 博客: Run only given sets of your unit test via @Category。
要獲取更多Jerry的原創(chuàng)技術(shù)文章,請關(guān)注公眾號"汪子熙"或者掃描下面二維碼:
總結(jié)
以上是生活随笔為你收集整理的ABAP和Java的单元测试Unit Test的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 空客 CEO 傅里:将在天津新建第二条总
- 下一篇: 将Java应用部署到SAP云平台neo环