色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

JAVA中什么是埋點

吉茹定2年前216瀏覽0評論

JAVA中什么是埋點?

一個非常好的問題。我是工作多年的Web應用架構師,來回答一下這個問題。歡迎關注我,了解更多IT專業知識。

一,埋點是什么?

埋點是軟件開發中的一個術語,用于采集數據或者驗證代碼執行過程,不只是Java才有,各種開發語言中都有成熟的SDK開發包和框架使用。

埋點的場景有多種,可以在程序執行時,還有在單元測試時??梢栽诜掌鳎部梢栽诳蛻舳???梢允占绦蜻\行數據,也可以收集用戶數據。

二,單元測試時的埋點

重點補充單元測試時用到的埋點技術。

單元測試的目的是測試被測函數。但是被測函數往往不是那么“簡單”,首先有入參,其次要依賴使用其它的變量、函數、數據、還有第三方接口,等等。

被測試函數的代碼執行路徑也會有多個,比如if-else,異常處理。

如何模擬不同的場景,控制被測函數的運行依賴環境,驗證運行過程和返回結果是否符合預期?以Java開發為例,使用JUnit + Mockit,一個典型的單元測試組成如下:

1. mock模擬依賴的數據、變量、函數、第三方接口,等等

2. stub打樁埋點,設置期望的執行過程、入參、出參等信息。

3. verify驗證代碼執行過程,比如埋點的函數被調用了1次,入參是abc。

4. doThrow設置異常拋出,驗證異常發生時的處理邏輯是否符合預期。

三,單元測試的埋點示例

舉個例子,被測試函數parseMsg(),讀取ActiveMQ消息內容,轉換成JSONObject

1,模擬入參TestMessage

2,在getText()函數處打樁埋點,設置返回值

3,調用被測試函數,驗證getText()函數被調用了一次

4,驗證異常發生時,處理邏輯是否正確

java 延時,JAVA中什么是埋點