JAVA中什么是埋点

更新时间:01-26 教程 由 基神 分享

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中什么是埋点》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2205369.html