资讯专栏INFORMATION COLUMN

本地测试没问题,机器人测试错误的简单规避办法

stefan / 1458人阅读

摘要:曲线救国既然只有机器人报错,那么本地测试好后,可以考虑将机器人报错的部分做排除。虽然好用,但却不能自己定义具体的信息它的就那几种,比如就一个打造自己的单元测试服务器迫在眉睫。接收到信息后,检出相应的分支,执行单元测试,并将测试的结果推送给

本地环境可以跑通,但只要一上机器人环境,便会出现错误。一般这种情况都是由于本地与travisJDK版本不一致造成的。然而,机器人又有日志大粘限制,这就决定了,我们不可能将日志等级开启到debug来调试错误。

思索:是否可以使用日志插件,将日志保存为文件,然后将文件回传到我们的服务器,再然后查看问题所在呢?

有没有办法来规避这一情况呢?

思路 最科学的办法

统一本地与机器人的版本了。
但:虽然版本统一了,但操作系统又很难统一。再结合开发环境与生产环境的不同,我们很难做到所有的环境完全统一。

曲线救国

既然只有机器人报错,那么本地测试好后,可以考虑将机器人报错的部分做排除。虽然这不是最好的方法,但在时间宝贵的前提下(机器人10分钟测试跑一次,改一次再测试10分钟,改了6次,就要等1小时),也只能如此了。

方法 配置文件支持

将机器人环境统一写到配置文件的某profiles中,然后命名:travis,并在启用机器人测试时,启用该命名:

spring:
  profiles:
#  开发过程中,请将 travis 修改为 test
    active: ${active:test}
测试文件中,注入该值,并做排除
    
    @Value("${spring.profiles.active}")
    private String active;
    
    public void test() {
         if (!this.active.equals("travis")) {
             // 机器人中报错的代码
         }
    }
总结

生产环境、测试环境、开发环境的不一致问题,会带来一定的困扰,而且一旦发生问题,比如生产环境中发现问题,由于缺少中断环境,则会在排错时浪费大量的时间。

travis虽然好用,但却不能自己定义具体的JDK信息(它的JDK就那几种,比如ORACLE-JDK8就一个),打造自己的单元测试服务器迫在眉睫。

构想:
开发环境(不限)、测试环境同生产环境(OPENJDK)。由于openjdk可以安装到Linux系统中,一旦开发环境(非liunx)与测试环境表现不一致,则可以切到liunx系统中来进行问题的调试。

学习机器人自动生成的shell,建立自己的shell。同时,开发一个小应用,来对接github。接收到github信息后,检出相应的分支,执行单元测试,并将测试的结果推送给github

help

I need help! Thank you!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/72619.html

相关文章

  • GitLab CI/CD 在 Node.js 项目中实践

    摘要:近期在按照业务划分项目时,我们组被分了好多的项目过来,大量的是基于的,也是我们组持续在使用的语言。部署环境强依赖本地,因为需要在本地建立仓库的临时目录,并经过多次的方式完成部署上线的操作。 近期在按照业务划分项目时,我们组被分了好多的项目过来,大量的是基于 Node.js 的,也是我们组持续在使用的语言。 现有流程中的一些问题 在维护多个项目的时候,会暴露出一些问题: 如何有效的使用...

    Profeel 评论0 收藏0
  • 直播、短视频平台如何选择合适CDN?

    摘要:对于初次接触和使用服务的直播或者短视频平台,视界云认为其中有两个核心的点需要被关注技术指标数据服务支撑。其次是再缓冲时间,代表的意义是用户观看视频时的卡顿时间。行业内而言直播首播时间,卡顿率在以下算是优质的服务。 对于初次接触和使用CDN服务的直播或者短视频平台, 视界云认为其中有两个核心的点需要被关注:技术指标数据&服务支撑。 技术指标数据:总体上: 稳定运行、良好的性价比、灵活便捷...

    source 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<