首页 > 技术文章 > 覆盖率平台(4)- 测程启动

dannyyao 2020-05-28 20:26 原文

新建测程后,就需要启动测程,以监听代码运行情况,获取覆盖率数据。

内部逻辑

1.环境准备:

  1.1)jacoco 环境初始化

  1.2)服务启动脚本模板拷贝

2.服务启动脚本初始化:

  2.1)copy 服务启动脚本模板

  2.2)把服务启动脚本中的参数替换,jacoco_port、服务port、服务启动路径等

  2.3)把把启动脚本,copy到服务部署路径

3.服务启停

  3.1)停止服务

  3.2)启动服务

 

核心代码

    # 启动测程
    def start_instance(self):
        # 环境准备
        ini_env_result = self.init_env()
        if ini_env_result != 0:
            logger.warning('测程%s环境准备失败!', self.name)
            return 1

        # 1.初始化脚本,生成服务启动脚本service.sh
        init_cmd = 'cd {} && ./init.sh {} {} >> init.log'.format(settings.COVERAGE_HOME, self.service_dir, self.port)
        linux = RemoteLinux(self.ip, self.user_name, self.pass_word)
        ini_cmd_result = linux.run_cmd(init_cmd)
        if ini_cmd_result != 0:
            logger.warning('测程%s脚本初始化失败!', self.name)
            return 2
        # 2.停止服务
        stop_cmd = 'cd {} && ./service.sh service stop'.format(self.service_dir)
        start_result = linux.run_cmd(stop_cmd)
        # 3.启动服务
        start_cmd = 'cd {} && ./service.sh service start'.format(self.service_dir)
        start_result += linux.run_cmd(start_cmd)
        return start_result
View Code

 

推荐阅读