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

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

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

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

思路

最科学的办法

统一本地与机器人的版本了。
但:虽然版本统一了,但操做系统又很难统一。再结合开发环境与生产环境的不一样,咱们很难作到全部的环境彻底统一。github

曲线救国

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

方法

配置文件支持

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

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!this

相关文章
相关标签/搜索