- 在VS里,根据VS版本安装支持GTest测试的插件,微软官方在VS2017版插件上进行了支持,但VS2015版的插件依然还是个人维护。
- VS2015: Google Test Adapter marketplace下载地址
- VS2017: Test Adapter for Google Test marketplace下载地址 (Visual Studio 2017 15.5 now offers Google Test support by default)
- 准备好待测试的dll。需要debug版本,包括对应的pdb文件。放在测试架构输出目录中。
-
在VS工程目录中,创建后缀为“.runsettings”的配置文件,如下样例:(未添加此文件,可能收集不到第三方dll的信息。<ModulePaths><Include>可特别指明欲收集信息的目标)
<?xml version="1.0" encoding="utf-8"?> <RunSettings> <!-- Configurations that affect the Test Framework --> <RunConfiguration> <MaxCpuCount>1</MaxCpuCount> <!-- Path relative to solution directory --> <ResultsDirectory>.\TestResults</ResultsDirectory> <!-- [x86] | x64 - You can also change it from menu Test, Test Settings, Default Processor Architecture --> <TargetPlatform>x64</TargetPlatform> <!-- Framework35 | [Framework40] | Framework45 --> <TargetFrameworkVersion>Framework40</TargetFrameworkVersion> <!-- Path to Test Adapters --> <TestAdaptersPaths>%SystemDrive%\Temp\foo;%SystemDrive%\Temp\bar</TestAdaptersPaths> </RunConfiguration> <!-- Configurations for data collectors --> <DataCollectionRunSettings> <DataCollectors> <DataCollector friendlyName="Code Coverage" uri="datacollector://Microsoft/CodeCoverage/2.0" assemblyQualifiedName="Microsoft.VisualStudio.Coverage.DynamicCoverageDataCollector, Microsoft.VisualStudio.TraceCollector, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <Configuration> <CodeCoverage> <ModulePaths> <Exclude> <ModulePath>.*CPPUnitTestFramework.*</ModulePath> </Exclude> </ModulePaths> <!-- We recommend you do not change the following values: --> <UseVerifiableInstrumentation>True</UseVerifiableInstrumentation> <AllowLowIntegrityProcesses>True</AllowLowIntegrityProcesses> <CollectFromChildProcesses>True</CollectFromChildProcesses> <CollectAspDotNet>False</CollectAspDotNet> </CodeCoverage> </Configuration> </DataCollector> </DataCollectors> </DataCollectionRunSettings> </RunSettings>
- 打开VS,调出测试资源窗口。测试→ 窗口→测试资源管理器
- 编译GTest架构的测试框架,所有的测试会被自动识别并显示在测试资源管理器中(被识别的是编译出的可执行的测试例,比如使用了GTEST_FLAG(filter),筛选出的测试例才会被识别。)
- 在测试资源管理器中选择测试例进行覆盖率测试
- 统计结果会自动显示在下方代码覆盖率结果窗口,同时结果文件会生成在<ResultsDirectory>
PS: 需要Visual Studio Enterprise版本, Community和Professional版本不支持
相关推荐
linux编程,vscode手把手教搭建编译环境
gmoke+gtest
这个包演示了如何结合cmake和gtest(googletest),实现了单元测试。
#include “gtest/gtest.h” int Add(int a, int b) { return a + b; } int Sub(int a, int b){ return a - b; } TEST(testCase, test0){ EXPECT_EQ(14, Add(4, 10)); } TEST(testCase, test1){ ASSE
最后,我想要一个快速的测试周期,因此创建了一个简单的自动测试脚本,每次我从编辑器编写源文件时都会运行 gtest 单元测试。 此示例项目的所有研究工作都包含在 shell 脚本中。 我试图让它们尽可能简单,以便于...
CC++单元测试框架gtest初探.docx
基于google gtest gmock的 实战教程。 演示,单元测试在C语言上 运用 简单上手,通俗易懂,提高代码质量,和编程效率
我使用的源码是gtest-1.6.0,这下面有一个文件夹fused-src,下面的gtest中包含有gtest.h.gtest_main.cc,gtest-all.cc三个文件,这即是可重用的代码了,你可以把它们加入你的工程,然后写测试代码。之前下了份别人的...
win10搭建gtest测试环境+vs2019
GTest使用手册 中文版本 使用VS编译
VS 2015 Gtest完整工程
gtest1.4.0官方源代码,目前最新版本
Google C++ Testing Framework(简称gtest,http://code.google.com/p/googletest/)是Google公司发布的一个开源C/C++单元测试框架,已被应用于多个开源项目及Google内部项目中,知名的例子包括Chrome Web浏览器、...
gtest源码gtest源码
本测试用例是基于Google开源C++单元测试框架Google Test系列(gtest)在C++Builder xe5下完成,测试用例简单,主要在与表明在C++ builder下我们怎样去使用gTest,本测试用例基于gtest-1.6.0;最新版本为gtest1.7,不过我...
google test c++测试工具 gtest 包含两部分: gmock-1.7.0 gtest-1.7.0
自己根据需求写的一个c++单元测试框架,写这个基础是阅读了gtest源码和许多架构,和为了方便大家的需要,写的一个通用性框架。如果大家需要,可以修改里面的相关代码,实现自己的独特需求。
gtest实现C++单元测试,基于vs2012 mtd编译
gtest单元测试PPT,讲解详细,可供参考
GoogleC++TestingFramework(简称gtest,)是Google公司发布的一个开源C/C++单元测试框架,已被应用于多个开源项目及Google内部项目中,知名的例子包括ChromeWeb浏览器、LLVM编译器架构、ProtocolBuffers数据交换...