- 博客(10)
- 收藏
- 关注
原创 带捕获的lambda不能转换成函数指针
最近在看libuv(一个纯C实现的多平台异步io库)的相关东西,里面有许多回调函数。例如:int uv_listen(uv_stream_t *stream, int backlog, uv_connection_cb cb)Start listening for incoming connections. backlog indicates the number of connections the kernel might queue, same as listen(2). When a new i
2021-05-30 19:42:50
2088
2
原创 sample7
sample7展示了如何使用值参数化测试(value-parameterized tests)来测试一个接口的多个实现的共同属性。test case中的每一个test都有一个参数指向被测试的实现接口的指针。sample7使用的测试接口和sample6一样在prime_tables.h中定义。sample7CMake编译规则,在test/src/samples/CMakeLists.txt最后添加以下两行:add_executable(sample7_unittest sample7_unittest.
2021-05-30 11:25:43
135
原创 sample6
sample6展示了如何测试 使用了同一个接口对相同属性的多个实现——也就是接口测试。首先编译出sample6,在test/src/samples/CMakeLists.txt最后添加一下两行:add_executable(sample6_unittest sample6_unittest.cc) target_link_libraries(sample6_unittest PUBLIC gtest gtest_main) 先看一下要测试的接口源码。prime_tables.hprime_ta
2021-05-30 11:25:08
245
原创 sample5
sample5演示如何使用一个test fixture衍生出多个test fixture以在多个test中使用。由于在使用某个test fixture时,test case的名字必须是test fixture的名字,是一一对应的关系。所以在使用一个test fixture只能被一个test case使用。但是有时多个test case中希望使用相同的test fixture,或者功能略有不同的test fixture。例如,可能想确保对所有GUI库的测试不泄漏重要的系统资源,如测试“字体”和“笔刷”两个
2021-05-30 11:24:21
132
原创 sample3
sample3展示了如何使用GoogleTest的test fixture。先看sample3_unittest中的说明一个test fixture是用来存放对象和方法的地方,这些test fixture中存放的对象和方法被所有在test case中的test共享。使用test fixture可以避免重复定义测试必要的初始化和清理代码。也可以被用来定义经常被使用的子程序。test fixture只是共享代码,而不共享数据。每一个test会得新的到tsst fixture的副本,因此一个test的对数据
2021-05-30 11:23:52
122
原创 sample4
看了一下sample4中没有什么新的东西,不过还是写一下sample4中的内容。编译sample4的规则,在test/src/samples/CMakeLists.txt中最后添加以下两行:add_executable(sample4_unittest sample4.cc sample4_unittest.cc) target_link_libraries(sample4_unittest PUBLIC gtest gtest_main) sample4的源文件sample4源文件包含samp
2021-05-30 11:23:20
86
原创 sample2
先编译出sample2,在test/src/samples/CMakeLists.txt 文件最后添加编译规则。add_executable(sample2_unittest sample2.cc sample2_unittest.cc) target_link_libraries(sample2_unittest PUBLIC gtest gtest_main) sample2源码定义的方法sample2.cc和sample2.h 定义了一个名为MyString的类,定义了一些常见的字符串操作方
2021-05-30 11:22:49
117
原创 sample1
开始读samples代码。sample1sample1包含三个文件,源文件sample1.cc和头文件sample1.h,以及重点要GoogleTest的测试文件sample1_unittest.cc。sample1.cc和sample1.h中定一个了两个函数:int Factorial(int n); //返回输入参出n的阶乘n!。bool IsPrime(int n); //判断输入值是否为质数。然后就是sample1_unittest.cc文件内容,以下是注释的内容:<技术
2021-05-30 11:04:54
403
原创 怎么用GoogleTest
所以,怎么在自己现有的项目中使用GoogleTest,首先写测试代码。ps我直接用的googletest/samples下的示例文件。所以第一个问题是如何将samples下的源文件编译出来。1.直接用GoogleTest的CMake编译samples怎么样把samples下的示例编译出来,读gtest文件夹下的CMakeLists.txt和googletest下的CMakeLists.txt文件分别发现了以下两个cmake选项。option(BUILD_GMOCK "Builds the googl
2021-05-30 11:03:24
268
原创 google-test
https://github.com/google/googletest/blob/master/googletest/README.md构建方法设置要构建GoogleTest或者使用它作自己的测试,你需要告诉编译系统去哪里找它的头文件和源文件。具体方式取决于你使用的编译系统。用CMake编译GoogleTest 附带了一个CMake构建脚本(CMakeLists.txt)可以在多种平台上使用,如果没有安装CMake,可以从http://www.cmake.org/免费下载。Cmake通过生成本
2021-05-30 11:01:59
537
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人