C/C++工具:cpptest最简使用说明

1. 安装

  1. 下载cpptest-版本号.tar.gz
  2. 解压tar -zxvf cpptest-版本号.tar.gz
  3. 进入目录cpptest-版本号
  4. 配置./configure
  5. 编译make
  6. 安装sudo make install
  7. 添加共享库目录/usr/local/lib到共享库配置文件
    sudo echo /usr/local/lib >> /etc/ld.so.conf  
    sudo ldconfig
    

2. 使用

  1. 引入测试头文件#include "cpptest.h"
  2. 继承Test::Suite编写套件类
  3. 给套件类添加测试成员函数
  4. 使用宏定义TEST_ADD注册测试成员函数
  5. 编译执行

3. 示例

  • test.cpp
#include "cpptest.h"

class MyTest:public Test::Suite{
public:
      MyTest(){
            TEST_ADD(MyTest::test_case1);
            TEST_ADD(MyTest::test_case2);
      }
private:
      void test_case1(){
            TEST_FAIL ("This always fails!\n");
      }
      void test_case2(){
            TEST_FAIL ("This always fails!\n");
      }
};
int main ( ) {
  MyTest test;  
  Test::HtmlOutput output;
  test.run(output,true);
  output.generate(std::cout, true, "MyTest");
  return 0;
}
  • 编译
g++ -o test test.cpp -lcpptest

如果配置时指定--prefix /usr/local/cpptest,编译命令为g++ -o test test.cpp -I/usr/local/cpptest/include -L/usr/local/cpptest/lib -lcpptest

  • 执行
./test > test.html

4. 说明

4.1 测试输出格式

格式 含义
Test::TextOutput 显示模式可以是详细或简洁。
Test::CompilerOutput 编译器构建日志相似的方式生成输出。
Test::HtmlOutput 生成 HTML 输出。

4.2 常用的测试宏

测试宏 含义
TEST_FAIL (message) 无条件地产生失败,并停止执行
TEST_ASSERT (expression) 如果表达式的结果是false,打印一个错误
TEST_ASSERT_MSG (expression, message) TEST_ASSERT (expression)相似,只是错误打印信息
TEST_THROWS (expression, exception) 如果没有捕捉到异常,就触发断言
TEST_THROWS_MSG (expression, exception, message) TEST_THROWS (expression, exception)相似,只是错误打印信息

exception是异常类型,不是异常对象。

5. 参考

  • 开放源码 C/C++ 单元测试工具,第 3 部分: 了解 CppTest

你可能感兴趣的:(C/C++工具:cpptest最简使用说明)