统计dll中代码测试覆盖率 (VS+GTEST)

阅读更多
  1. 在VS里,根据VS版本安装支持GTest测试的插件,微软官方在VS2017版插件上进行了支持,但VS2015版的插件依然还是个人维护。
    1. VS2015: Google Test Adapter marketplace下载地址
    2. VS2017: Test Adapter for Google Test marketplace下载地址 (Visual Studio 2017 15.5 now offers Google Test support by default)
  2. 准备好待测试的dll。需要debug版本,包括对应的pdb文件。放在测试架构输出目录中。
  3. 在VS工程目录中,创建后缀为“.runsettings”的配置文件,如下样例:(未添加此文件,可能收集不到第三方dll的信息。可特别指明欲收集信息的目标)

      
      
        
        
        1  
          
        .\TestResults  
      
          
        x64  
      
          
        Framework40  
      
          
        %SystemDrive%\Temp\foo;%SystemDrive%\Temp\bar  
        
      
        
        
          
            
              
                
                
    
                    
                    .*CPPUnitTestFramework.*  
                    
                  
      
                  
                True  
                True  
                True  
                False  
      
                
              
            
          
        
      
      
     
  4. 打开VS,调出测试资源窗口。测试→ 窗口→测试资源管理器
  5. 编译GTest架构的测试框架,所有的测试会被自动识别并显示在测试资源管理器中(被识别的是编译出的可执行的测试例,比如使用了GTEST_FLAG(filter),筛选出的测试例才会被识别。)
  6. 在测试资源管理器中选择测试例进行覆盖率测试
  7. 统计结果会自动显示在下方代码覆盖率结果窗口,同时结果文件会生成在

PS: 需要Visual Studio Enterprise版本, Community和Professional版本不支持

你可能感兴趣的:(覆盖率,测试,GTEST)