首页 > 编程语言 >JavaMock批量生成GET SET方法单测覆盖率

JavaMock批量生成GET SET方法单测覆盖率

时间:2025-01-03 16:45:13浏览次数:1  
标签:ReflectionTestUtils SET obj GET getName getType field JavaMock class

@RunWith(MockitoJUnitRunner.class)
@Slf4j
public class PersonTest {

    @Test
    public void testPerson() {
        MockGetSetMethod(Person.class);
    }

    /**
     * @param tClass 需要生成覆盖率的实体类
     * @param <T>    泛型
     */
    public <T> void MockGetSetMethod(Class<T> tClass) {
        try {
            Object obj = tClass.newInstance();
            // 获取 obj 类的所有字段
            Field[] fields = tClass.getDeclaredFields();
            for (Field field : fields) {

                // 设置私有字段可访问
                field.setAccessible(true);
                // 反射调用get方法
                ReflectionTestUtils.invokeGetterMethod(obj, field.getName());

                //根据不同类型mockSet方法
                if (field.getType().equals(String.class)) {
                    // String类型
                    ReflectionTestUtils.invokeSetterMethod(obj, field.getName(), "String");
                } else if (field.getType().equals(Timestamp.class)) {

                    //Timestamp类型
                    ReflectionTestUtils.invokeSetterMethod(
                            obj, field.getName(), new Timestamp(System.currentTimeMillis()));
                } else if (field.getType().equals(Short.class)) {

                    //Shot类型
                    ReflectionTestUtils.invokeSetterMethod(
                            obj, field.getName(), Short.parseShort("1"));
                } else if (field.getType().equals(Integer.class)) {

                    //Integer类型
                    ReflectionTestUtils.invokeSetterMethod(
                            obj, field.getName(), Integer.valueOf(1));
                }

            }
        } catch (SecurityException | InstantiationException | IllegalAccessException e) {
            log.info(e.getMessage());
        }
    }
}

 

标签:ReflectionTestUtils,SET,obj,GET,getName,getType,field,JavaMock,class
From: https://www.cnblogs.com/mylbs123/p/18650444

相关文章

  • set whiteip
    #-*-coding:utf-8-*-#Thisfileisauto-generated,don'teditit.Thanks.#pyinstaller--onefileyour_script.py#创建虚拟环境venv:#python3-mvenvvenv#依赖安装:#pip3install--upgradepip#pip3installaliyun-python-sdk-dcdn==2.2.19importosimport......
  • 深入理解 Java Set 集合:原理、应用与高频面试题解析
    深入理解JavaSet集合:原理、应用与高频面试题解析在Java中,Set是一种重要的集合接口,用于存储不重复的元素。无论是在实际开发中,还是在面试场景中,Set都是一个高频的知识点。本篇文章将详细介绍JavaSet集合的基础知识、常见实现类、应用场景以及面试常考题,最后通过总结帮助......
  • selectdataset 发布2024最热门Top100数据集
    遇见数据集索引了国内外的大部分网站。首页有最新的数据集推荐:GitHub、HuggingFace、arXiv这些热门站点​,都属于日级别的更新。这个站点是从搜索引擎方面去监控最新的数据集,大家如果有关注某个一个特点领域或话题的更新,可以关注这个站点:遇见数据集-让每个数据集都被发现,让每......
  • 中考英语优秀范文-006 How to get on well with others 如何与他人相处融洽
    中考英语优秀范文-006Howtogetonwellwithothers如何与他人相处融洽1写作要求当今社会,与人交往越来越成为一种不可或缺的能力,作为中学生,学会如何与人相处尤为重要。假如上周你们班对“如何与人相处”展开了讨论,请根据以下的讨论结果,以“Howtogetonwellwithoth......
  • C/S客户端程序 winform接收外部http (GET|POST)请求 工具类逻辑开发
    前言我们知道web项目(即B/S端程序的S端)是很容易提供API接口,供外部进行访问的,这是Web本身的特性所然。Web项目在发布后,会挂载到比如IIS管理器,上面会要求配置IP和端口号,外部访问时根据约定的IP,端口,以及约定的路由路径、请求方式、传参等就很容易外部对内API接口访问。客户端程序(......
  • wx.batchGetStorageSync
    Array.wx.batchGetStorageSync(Array.keyList)基础库2.25.0开始支持,低版本需做兼容处理。小程序插件:不支持微信鸿蒙OS版:支持相关文档:存储策略功能描述从本地缓存中同步批量获取指定key的内容。参数Array.keyList本地缓存中指定的key数组返回值Arra......
  • wx.batchSetStorage
    wx.batchSetStorage(Objectobject)基础库2.25.0开始支持,低版本需做兼容处理。以Promise风格调用:支持小程序插件:不支持微信鸿蒙OS版:支持相关文档:存储策略功能描述将数据批量存储在本地缓存中指定的key中。会覆盖掉原来该key对应的内容。除非用户主动删......
  • wx.getStorage
    wx.getStorage(Objectobject)以Promise风格调用:支持小程序插件:支持,需要小程序基础库版本不低于1.9.6微信Windows版:支持微信Mac版:支持微信鸿蒙OS版:支持相关文档:存储策略功能描述从本地缓存中异步获取指定key的内容。参数Objectobject属性类型......
  • wx.getStorageInfo
    wx.getStorageInfo(Objectobject)以Promise风格调用:支持小程序插件:不支持微信Windows版:支持微信Mac版:支持微信鸿蒙OS版:支持相关文档:存储策略功能描述异步获取当前storage的相关信息。参数Objectobject属性类型默认值必填说明successfun......
  • wx.getStorageInfoSync
    Objectwx.getStorageInfoSync()以Promise风格调用:支持小程序插件:不支持微信Windows版:支持微信Mac版:支持微信鸿蒙OS版:支持相关文档:存储策略功能描述wx.getStorageInfo的同步版本返回值Objectobject属性类型说明keysArray.当前storage......