1. 在Visual Studio 2017中新建一个gtest项目 Sample-Test1。这个项目会自动安装“Microsoft.googletest.v140.windesktop.msvcstl.static.rt-dyn”这个nuget包。我们打开nuget管理工具,然后添加一个“teamcity-gtest-streamer”包

2.在pch.h中添加头文件应用

#include "gtest/gtest.h"
#include "teamcity_gtest.h"

3. 修改test.cpp为以下内容

#include "pch.h"

TEST(TestCaseName, TestName) {
EXPECT_EQ(, );
EXPECT_TRUE(true);
} TEST(TestCaseName1, TestName1) {
EXPECT_EQ(, );
EXPECT_TRUE( == );
}
TEST(TestCaseName1, TestName2) {
EXPECT_EQ(, );
EXPECT_TRUE( == );
} int main(int argc, char** argv) {
::testing::InitGoogleTest(&argc, argv); //if (jetbrains::teamcity::underTeamcity()) {
// ::testing::TestEventListeners& listeners = ::testing::UnitTest::GetInstance()->listeners();
// // Add unique flowId parameter if you want to run test processes in parallel
// // See http://confluence.jetbrains.net/display/TCD6/Build+Script+Interaction+with+TeamCity#BuildScriptInteractionwithTeamCity-MessageFlowId
// listeners.Append(new jetbrains::teamcity::TeamcityGoogleTestEventListener());
//} //if (jetbrains::teamcity::underTeamcity()) {
::testing::TestEventListeners& listeners = ::testing::UnitTest::GetInstance()->listeners();
// Add unique flowId parameter if you want to run test processes in parallel
// See http://confluence.jetbrains.net/display/TCD6/Build+Script+Interaction+with+TeamCity#BuildScriptInteractionwithTeamCity-MessageFlowId
listeners.Append(new GTest::TeamCityAdapter());
//} return RUN_ALL_TESTS();
}

4. 在teamcity中新增一个项目,项目的配置如下

5. 等待运行结果,如下图所示,两个执行成功,一个执行失败

一起都已经完成。后续集成更多功能和单元测试即可。

具体代码可以参照 https://github.com/jhy871167495/teamcity_gtest_demo

相关参考:teamcity-gtest-streamer bitbucket地址

https://github.com/JetBrains/teamcity-cpp

在TeamCity中执行gtest单元测试的更多相关文章

  1. 在Python中进行自动化单元测试的教程

    From: https://www.jb51.net/article/64119.htm 一.软件测试 大型软件系统的开发是一个很复杂的过程,其中因为人的因素而所产生的错误非常多,因此软件在开发过程必 ...

  2. TeamCity编译执行selenium上传窗口脚本缺陷

    2015-07-04 18:05 编写本文 TeamCity编译selenium脚本,对于上传窗口处理只支持sendKeys的使用,不支持模拟人为按下Enter键和使用autoIt等操作,即使本地调试 ...

  3. 【vue】在VS Code中调试Jest单元测试

    在VS Code中调试Jest单元测试 添加调试任务 打开 vscode launch.json 文件,在 configurations 内加入下面代码 "configurations&qu ...

  4. 【Java】eclipse中的JUnit单元测试

    eclipse中的JUnit单元测试 步骤: 选中当前工程 - 右键选择:build path - add libraries - JUnit 4 - 下一步 创建Java类,进行单元测试. 此时的J ...

  5. 【Win 10 应用开发】在App所在的进程中执行后台任务

    在以往版本中,后台任务都是以独立的专用进程来运行,因此,定义后台任务代码的类型都要位于 Windows 运行时组件项目中. 不过,在14393中,SDK 作了相应的扩展,不仅支持以前的独立进程中运行后 ...

  6. [C#] 走进异步编程的世界 - 在 GUI 中执行异步操作

    走进异步编程的世界 - 在 GUI 中执行异步操作 [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5877042.html 序 这是继<开始接 ...

  7. 【python之路2】CMD中执行python程序中文显示乱码

    在IDLE中执行下面代码,中文显示正常: # -*- coding:utf-8 -*- st=raw_input("请输入内容")print st 但在CMD中执行e:\hello ...

  8. PL/SQL客户端中执行insert语句,插入中文乱码

    问题描述:在PL/SQL客户端中执行insert语句,插入中文乱码 解决方案: 1.执行脚本 select userenv('language') from dual;    结果为AMERICAN_ ...

  9. 在 C# 中执行 msi 安装

    有时候我们需要在程序中执行另一个程序的安装,这就需要我们去自定义 msi 安装包的执行过程. 需求 比如我要做一个安装管理程序,可以根据用户的选择安装不同的子产品.当用户选择了三个产品时,如果分别显示 ...

随机推荐

  1. MySQL--------SQL优化审核工具实战

    1. 背景 SQLAdvisor是由美团点评公司技术工程部DBA团队(北京)开发维护的一个分析SQL给出索引优化建议的工具.它基于MySQL原生态词法解析,结合分析SQL中的where条件.聚合条件. ...

  2. flyio 的请求封装

    1.安装flyio.js npm install flyio --save-dev 2.在util创建一个fly.js用于封装 import Vue from 'vue' var Fly=requir ...

  3. Eclipse中给jar包导入JavaDoc注释文档的方法

    原文链接:http://www.apkbus.com/android-124056-1-1.html 第一步:将jar加入到Referenced Libraries 右键点击jar --> 选择 ...

  4. 10 masterless、高可用、salt执行模块开发、sydic架构

    1.salt无master 官方文档: http://docs.saltstack.cn/topics/tutorials/quickstart.html 1.使用场景 1.在项目中使用salt,写一 ...

  5. 题解 [BZOJ4144] Petrol

    题目描述 ​ 有一张 n 个点 m 条边的无向图,其中有 s 个点上有加油站.有 Q 次询问(a,b,c), 问能否开一辆油箱容积为 c 的车从 a 走到 b.(a,b均为加油站) 输入格式 ​ 第一 ...

  6. 根据xml文件生成javaBean

    原 根据xml文件生成javaBean 2017年08月15日 18:32:26 吃完喝完嚼益达 阅读数 1727 版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出 ...

  7. HGOI 20191107 题解

    Problem A 树状数组 给出下列$C++$代码: 设区间加操作$modify(l,r)$为调用两次$update(r,1)$和$update(l-1,-1)$ 设$f(l,r)$表示在初始$cn ...

  8. [python之ipython] jupyter notebook在云端服务器上开启,本地访问

    本地ssh到云端: ssh username@xxx.xxx.xxx.xxx -L127.0.0.1:7777:127.0.0.1:8888 把云端的8888端口映射到本地的7777端口 云端运行指令 ...

  9. mybatis 语句中where 后边要跟必要条件和多个选择条件处理方法

    <select id="serchRelation" resultType="Relation">SELECTr.node_one as nodeO ...

  10. 9.Spring Cloud Config统一管理微服务配置

    Spring Cloud Config统一管理微服务配置 9.1. 为什么要统一管理微服务配置 9.2. Spring Cloud Config简介 Spring Cloud Config为分布式系统 ...