在TeamCity中执行gtest单元测试
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单元测试的更多相关文章
- 在Python中进行自动化单元测试的教程
From: https://www.jb51.net/article/64119.htm 一.软件测试 大型软件系统的开发是一个很复杂的过程,其中因为人的因素而所产生的错误非常多,因此软件在开发过程必 ...
- TeamCity编译执行selenium上传窗口脚本缺陷
2015-07-04 18:05 编写本文 TeamCity编译selenium脚本,对于上传窗口处理只支持sendKeys的使用,不支持模拟人为按下Enter键和使用autoIt等操作,即使本地调试 ...
- 【vue】在VS Code中调试Jest单元测试
在VS Code中调试Jest单元测试 添加调试任务 打开 vscode launch.json 文件,在 configurations 内加入下面代码 "configurations&qu ...
- 【Java】eclipse中的JUnit单元测试
eclipse中的JUnit单元测试 步骤: 选中当前工程 - 右键选择:build path - add libraries - JUnit 4 - 下一步 创建Java类,进行单元测试. 此时的J ...
- 【Win 10 应用开发】在App所在的进程中执行后台任务
在以往版本中,后台任务都是以独立的专用进程来运行,因此,定义后台任务代码的类型都要位于 Windows 运行时组件项目中. 不过,在14393中,SDK 作了相应的扩展,不仅支持以前的独立进程中运行后 ...
- [C#] 走进异步编程的世界 - 在 GUI 中执行异步操作
走进异步编程的世界 - 在 GUI 中执行异步操作 [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5877042.html 序 这是继<开始接 ...
- 【python之路2】CMD中执行python程序中文显示乱码
在IDLE中执行下面代码,中文显示正常: # -*- coding:utf-8 -*- st=raw_input("请输入内容")print st 但在CMD中执行e:\hello ...
- PL/SQL客户端中执行insert语句,插入中文乱码
问题描述:在PL/SQL客户端中执行insert语句,插入中文乱码 解决方案: 1.执行脚本 select userenv('language') from dual; 结果为AMERICAN_ ...
- 在 C# 中执行 msi 安装
有时候我们需要在程序中执行另一个程序的安装,这就需要我们去自定义 msi 安装包的执行过程. 需求 比如我要做一个安装管理程序,可以根据用户的选择安装不同的子产品.当用户选择了三个产品时,如果分别显示 ...
随机推荐
- ubuntu18系统 Qt Error BadAccess
现象:在ubuntu18中报错 X Error: BadAccess (attempt to access private resource denied) 10 Extension: 130 ...
- 嵌入式系统FreeRTOS — 互斥信号量
互斥信号量可以在资源保护的时候很有帮助.用于控制在两个或多个任务间访问共享资源.任务1里面用互斥,那么任务2只能等任务1访问完再访问同一个变量. 比如全局变量double gADC_value[CH_ ...
- goproxy
go env -w GOPROXY=https://goproxy.cn,directgo env -w GO111MODULE=ongo env -w GOBIN=$HOME/bin (可选)go ...
- PHP mysqli_fetch_field() 函数
返回结果集中下一字段(列),然后输出每个字段名称.表格和最大长度: <?php // 假定数据库用户名:root,密码:123456,数据库:RUNOOB $con=mysqli_connect ...
- Codevs 4909 寂寞的堆
4909 寂寞的堆 时间限制: 1 s 空间限制: 8000 KB 题目等级 : 大师 Master 题目描述 Description 堆,是一种神奇的数据结构 不寂寞的堆,是一棵满二叉树,其儿子节点 ...
- T2695 桶哥的问题——送桶 题解
校内测试 ------T2 看完这个题,就觉得和贪心那一块的任务调度很像,于是思路就是贪心啦! 蒟蒻的我,也就只能想到用贪心了,但是不知道怎么用qwq 这是我考试当时的思路,数据水骗了80分qwq: ...
- 1-1RGB色彩模式
http://www.missyuan.com/thread-350716-1-1.html RGB色彩模式 CTRL+O 打开文件 双击{O->Open} F8/菜单-窗口-信息 调出 ...
- bat 通过命令以管理员方式运行程序
@echo off mode con lines= cols= % mshta vbscript:CreateObject()(window.close)&&exit cd /d &q ...
- centos7 下安装和配置 mongodb (重点)
1.下载安装包 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.4.tgz 2.解压 tar -zxvf m ...
- java 日志文件打印
java中的日志打印 java中的日志打印: 日志工具类: log4j.properties解释: 1 1.输出级别的种类 2 ERROR.WARN.INFO.DEBUG 3 ERROR 为严 ...