C/C++单元测试工具Visual Unit 4在线帮助


独立执行测试(持续集成)

独立执行概述
    是指脱离VU环境, 以命令行方式执行测试,并生成测试报告以及覆盖统计报告。
    独立执行可集成到Jenkins之类的持续集成平台,按预设的周期自动执行测试。
    执行测试前,会自动检查源代码的修改,对于更新过的代码,会自动刷新测试代码,实现自动检测代码修改是否引入了新的错误。

生成独立执行工程
    VU“工程”菜单,选择“导出独立执行的工程”,弹出以下窗口时,导出完成:
   

    上图的提示信息列出了独立工程的文件夹(TestRun文件夹)保存位置,TestRun文件可以拷到没有VU的环境下工作,但执行过程需要编译器、链接器、make,并且,这些应用程序的路径均应已在系统的PATH环境中设定,可以直接调用。TestRun文件夹具有如下图所示的内容:

   

    上图是在linux环境下执行测试的工程,windows环境下有些文件名称不同:
    coder.bin(linux) =>  Coder.exe(windows)
    outrun.bin(linux) => OutRun.exe(windows)
    maketest.sh(linux) => maketest.bat(windows) 

路径修改
    每次执行测试前,会自动检查代码修改并刷新测试代码。如果流水线环境下有些路径与当前工程不同,可打开RunTest文件夹下的dirs.txt修改,格式如下,每行一个目录,顺序无关,其中,product_dir为产品项目根目录(对应:VU工程属性>常规>产品项目根目录),include_dir为编译环境(如gcc)的头文件目录(对应:VU工程属性>头文件>库头文件目录),lib_dir为静态库的搜索目录(对应:VU工程属性>链接>库文件搜索目录 ,run_dir为动态库目录),environment_variable为环境变量,用:分隔名称与值(如environment_variable:work_dir:c:/abc/myproject/src,表示名为work_dir的环境变量,值为c:/abc/myproject/src):
    product_dir:/home/wt/projects/Demo-Linux/
    include_dir:/usr/local/gcc/lib/gcc/x86_64-linux/7.5.0/include/
    include_dir:/usr/local/include/
    include_dir:/usr/local/gcc/include/
    include_dir:/usr/local/gcc/lib/gcc/x86_64-linux/7.5.0/include-fixed/
    include_dir:/usr/include/
    lib_dir:/usr/wt/projects/Demo-Linux/lib
    run_dir:-rpath,/usr/wt/so
    environment_variable:work_dir:c:/abc/myproject/src

执行测试
    执行以下文件,即可执行测试:
    linux环境:outrun.bin。
    windows环境:OutRun.exe
    执行过程会自动调用coder.bin(或Coder.exe)刷新测试代码。

报告文件
    测试报告:test.xml
    覆盖统计文件:cov.xml
    文件内容与格式与gtest生成的基本一致,持续集成工具中,用于显示gtest报告的插件可以兼容以上的告。

检查独立工程是否有错误
    执行outrun.bin或OutRun.exe,如果能生成text.xml和cov.xml,表示执行成功。如果失败,可用文本编辑工具打开maketest.sh或maketest.bat,在最后加一行:pause,保存,然后 执行它,查看输出信息一般可以分析出失败原因,常见的原因是找不到make或编译器、链接器。