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\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檔案都作為執行單元測試的候選,
Java裡單元測試的靈活之處在於可以給同一class裡的不同方法指定不同的Category:
然後用命令列mvn install加上引數-P SlowTests只執行category為SlowTests的那些方法:
關於@Category註解的更多高階用法,參考我的SAP Community 部落格: Run only given sets of your unit test via @Category。
要獲取更多Jerry的原創技術文章,請關注公眾號"汪子熙"或者掃描下面二維碼:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2156263/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ABAP和Java SpringBoot的單元測試JavaSpring Boot
- java單元測試:unit testing best practicesJava
- 翻譯:iOS Swift單元測試 從入門到精通 Unit Test和UI測試 UITestiOSSwiftUI
- 四種ABAP單元測試隔離(test isolation)技術
- 測試 之Java單元測試、Android單元測試JavaAndroid
- vue單元測試vue test utils使用初探Vue
- Unit test
- java中的單元測試Java
- SAP CDS view單元測試框架Test Double介紹View框架
- unit-test框架框架
- 一文掌握開源單元測試框架Google Test框架Go
- 單元測試:單元測試中的mockMock
- 如何單元測試Java的private方法Java
- Golang 單元測試執行 _test.go 中的某個 func 方法Golang
- Java單元測試神器之MockitoJavaMockito
- Java單元測試技巧之PowerMockJavaMock
- 1.13-java單元測試junitJava
- Java中的單元測試與整合測試最佳實踐Java
- 單元測試-【轉】論單元測試的重要性
- ABAP和Java單例模式的攻防Java單例模式
- pytest與unit test區別
- iOS 單元測試和 UI 測試快速入門iOSUI
- .Net單元測試xUnit和整合測試指南(1)
- Java Junit單元測試(入門必看篇)Java
- Java單元測試之JUnit 5快速上手Java
- Python和單元測試那些事兒Python
- 用 ai 自動生成 unit testAI
- 單元測試,只是測試嗎?
- 單元測試-一份如何寫好單元測試的參考
- 單元測試的規範
- Apache Camel的單元測試Apache
- SpringBoot單元測試Spring Boot
- python 單元測試Python
- iOS 單元測試iOS
- Flutter 單元測試Flutter
- 單元測試 Convey
- 單元測試真
- golang單元測試Golang