集成SVN源码管理和Mantis缺陷跟踪
作者:网络转载 发布时间:[ 2015/4/1 13:46:39 ] 推荐标签:缺陷管理 Bug 源代码 SVN
完成以上工作后使用过程中还存在一些问题
1、缺陷号没有强制输入,如果没有输入缺陷号,仍然可以提交
2、输入了错误的缺陷号,系统仍然提交,但是缺陷系统中没有相关的内容
解决这个问题,需要在提交前,对缺陷信息进行校验
一、创建 pre-commit.bat 校验缺陷号
REM pre-commit.bat hook for MantisBT integration
set REPOS=%1
set TXN=%2
SET DETAILS_FILE=D:svn o1logsvnfile
SET LOG_FILE=D:svn o1logsvnfile_Log
set APR_ICONV_PATH=D:EasyPHPSubversioniconv
set PHPRC=D:EasyPHPapache
set path=%path%;D:EasyPHPphp5;D:EasyPHPSubversionin;
rem 把注释信息写入到 DETAILS_FILE
svnlook log "%REPOS%" -t "%TXN%" >>%DETAILS_FILE%
rem 执行checkin_svn_pre_commit.php 进行校验缺陷单号 是否在缺陷系统中存在,如果不存在,返回输出信息到 log_file中
php.exe D:EasyPHPwwwmantiscorecheckin_svn_pre_commit.php <%DETAILS_FILE%>%LOG_FILE%
rem 校验log_file中是否有内容,如果有内容,转入到出错提示
FOR /F "tokens=1,2* delims= " %%i in (%LOG_FILE%) do goto err
del %DETAILS_FILE%
del %LOG_FILE%
exit 0
:err
echo 缺陷单不存在,请正确填写缺陷单号,提交终止! 1>&2
del %DETAILS_FILE%
del %LOG_FILE%
exit 1
二、创建checkin_svn_pre_commit.php 到数据库中校验缺陷单信息
拷贝 checkin.php 内容 新建checkin_svn_pre_commit.php 文件
删除 # add note to each bug only once 之后的到 exit( 0 ); 内容,修改为以下内容
# add note to each bug only once
$t_issues = array_unique( $t_issues );
$t_fixed_issues = array_unique( $t_fixed_issues );
$t_issues_svn = array_unique( $t_issues );
# 编码转换.
$t_comment = mb_convert_encoding($t_comment, "utf-8","GB2312");
# 判断数据库中的 缺陷单号是否存在
foreach ( $t_issues_svn as $t_issue_id ) {
$query = "SELECT *
FROM mantis_bug_table
WHERE bug_text_id='$t_issue_id'";
$result = db_query( $query );
$issues_raw_count = db_num_rows( $result );
if ($issues_raw_count == 0){
echo "$t_issue_id";
}
}
exit( 0 );
至此大部分的工作都已经完成,但是还存在一些问题
1 新增等操作的时候,有时候提交没有出现收入 issue 提示框,但是此时仍然需要输入缺陷号
测试可以要求,在提交注释的时候,按照 issue 1 形式手工写入缺陷单号,即可提交
几点说明:
1、
SET DETAILS_FILE=E:svnrepologsvnfile_%REV%
指的是svn代码库的地址,在这个地址下 建立一个log的目录,根据自动生成文件
2、
$g_source_control_account = 'SVN';
需要在mantis建立一个 svn的 用户,这个用户要有添加注释的权利
3、php.exe E:wwwmantiscorecheckin.php <%DETAILS_FILE% >%LOG_FILE%
在使用easyphp的时候,注意php.ini 默认使用的是windows目录下的,
rem set PHPRC=D:EasyPHPapache 默认会使用windows 目录下的 php.ini 修改后,读取 easyphpapach 目录下的配置文件
不然总是mysql 连接错误
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
软件测试理论之缺陷管理Bug的生命周期的跟踪管理是怎么形成的?目前比较好用的缺陷管理工具都具备什么特点?缺陷等级的标准是如何判定的?有什么好用的缺陷管理工具吗?缺陷管理中缺陷的状态有哪些?如何进行状态管理?软件测试中的缺陷管理步骤和策略如何有效结合缺陷管理工具和缺陷管理流程?ALM(生命周期管理软件)之缺陷管理-缺陷流程处理ALM(生命周期管理软件)之缺陷管理-缺陷导出与修改ALM(生命周期管理软件)之缺陷管理-缺陷模版配置、导入缺陷ALM(生命周期管理软件)之缺陷管理-提交缺陷缺陷管理之Bug修复软件缺陷管理缺陷管理之测试新手缺陷管理项目实战缺陷管理工具:JIRA系统部署推进上线流程软件缺陷管理流程
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11热门文章
常见的移动App Bug??崩溃的测试用例设计如何用Jmeter做压力测试QC使用说明APP压力测试入门教程移动app测试中的主要问题jenkins+testng+ant+webdriver持续集成测试使用JMeter进行HTTP负载测试Selenium 2.0 WebDriver 使用指南