google开源测试框架的使用(一)[转]
2010-01-03 11:48
357 查看
原文地址
关键字: cmake Hadoop WebSphere Studio BIRT WebStart
下面对这个测试框架在linux平台下的安装和使用做一个简单的介绍。
google开放了一个测试框架,可以用于测试多种平台下的C++代码。该开源项目的主页是http://code.google.com/p/googletest/ 。 下面对这个测试框架在linux平台下的安装和使用做一个简单的介绍。 1. 获得源代码进行安装 项目的源代码可以从http://code.google.com/p/googletest/downloads/list获得(昨天下载源码的时候最新版本还是1.0.0,现在最新版就变成了1.0.1,加入了对 Visual Studio 7.1 的支持)。获得源码后进行configure make make install,不再多说。 安后会多出了三个命令,分别是 gtest-config gtester gtester-report。其中gtest-config用于生成编译和连接时的参数,gtester是运行测试程序的命令,gtester-report用于将gtester声称的日志文件转换为html格式。 下面将通过一个小程序的测试来说明这个测试工具的使用方法 2. 需要进行测试的代码 这里列出进行测试的代码,一共两个文件 code.h code.cpp 。code.h #ifndef CODE_H #define CODE_H int f( int a ); int b( int b ); #endif code.cpp #include "code.h" int f( int a ){ return a+1; } int b( int b ){ return b+2; }3. 编写测试代码 测试代码为code_test.cpp
#include <limits.h> #include "code.h" #include <gtest/gtest.h> TEST( TEST_A,NAME ){ //TEST_A 是测试用例名称, NAME 是测试名称 EXPECT_EQ( 2,f( 1 ) ); //这个测试执行函数f,参数为1,查看返回值是不是2 EXPECT_EQ( 3,f( 2 ) ); } TEST( TEST_B,NAME ){ EXPECT_EQ( 10,b( 2 ) ); }4. 运行测试代码 运行测试代码需要一个主函数,在这里主函数在文件 main_test.cpp 中
main_test.cpp #include <gtest/gtest.h> #include <iostream> int main(int argc, char **argv) { // std::cout << "Running main() from gtest_main.ccn"; testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); }5. 编译 使用下面的命令进行编译和连接
gcc $(gtest-config --cppflags --cxxflags) -o code.o -c code.cpp gcc $(gtest-config --cppflags --cxxflags) -o code_test.o -c code_test.cpp gcc $(gtest-config --cppflags --cxxflags) -o main_test.o -c main_test.cpp gcc $(gtest-config --ldflags --libs) -o main_test code.o code_test.o main_test.o6. 测试 使用gtester运行上面编译的程序
$ gtester -o test.log -k main_test TEST: main... [==========] Running 2 tests from 2 test cases. [----------] Global test environment set-up. [----------] 1 test from TEST_A [ RUN ] TEST_A.NAME [ OK ] TEST_A.NAME [----------] 1 test from TEST_B [ RUN ] TEST_B.NAME code_test.cpp:13: Failure Value of: b( 2 ) Actual: 4 Expected: 10 [ FAILED ] TEST_B.NAME [----------] Global test environment tear-down [==========] 2 tests from 2 test cases ran. [ PASSED ] 1 test. [ FAILED ] 1 test, listed below: [ FAILED ] TEST_B.NAME 1 FAILED TEST (pid=9128) FAIL: main这里可以看到测试用例的通过情况
相关文章推荐
- google开源测试框架的使用(一)
- google开源测试框架的使用(二)
- google开源测试框架的使用(二)
- C程序:使用 googletest 测试框架
- 玩转Google开源C++单元测试框架Google Test系列(gtest)之五 - 死亡测试
- Google开源C++单元测试框架Google Test(gtest)在C++Builder(xe5)下的使用-1
- C++google基于开源的新c++测试框架发布
- 玩转Google开源C++单元测试框架Google Test系列(gtest)之五 - 死亡测试
- 玩转 Google开源C++单元测试框架Google Test系列(gtest)之五 - 死亡测试(转载)
- 为什么使用googletest,而不是其他C++测试框架(译自google faq的该问题)
- Google开源了其C++测试框架 C++ Mocking框架
- 【转】玩转Google开源C++单元测试框架Google Test系列(gtest)之五 - 死亡测试
- 开源的软件自动化测试框架STAF使用特色
- C++测试利器--google test开源测试框架
- Google开源C++单元测试框架gTest 8:编写简单的测试框架
- Google开源OCR项目Tesseract安装版在Windows下的使用测试记录
- 玩转Google开源C++单元测试框架Google Test系列(gtest)之五 - 死亡测试
- Google开源 Volley 网络框架使用
- GOOGLE的开源测试框架
- 玩转Google开源C++单元测试框架Google Test系列(gtest)之五 - 死亡测试