c++テストフレームワークgtestの入門

8087 ワード

c++のテストフレームワークに初めて触れて使用します.ここではlinuxのclionで使用した参考資料を記録します.http://www.cnblogs.com/coderzh/archive/2009/04/06/1426755.html
Google test、gtestと略称して、まずこのソースコードをダウンロードする必要があります.オープンソースです.https://github.com/google/googletest/tree/release-1.7.0私がこのバージョンのc++ 测试框架gtest的入门_第1张图片をダウンロードするには、ディレクトリcmakeに入って、静的ライブラリファイルを生成する必要があります.a
これを参考にhttps://www.jianshu.com/p/1821fc597b25c++ 测试框架gtest的入门_第2张图片を実現するには、すべてドラッグする必要はありません.私たちが必要とする部分だけでいいです.2つです.aはcmakeの後の産物で、
参考の文章に従ってcmakelistを実現することができる.txt
cmake_minimum_required(VERSION 3.10)
project(untitled_test)

set(CMAKE_CXX_STANDARD 11)
add_subdirectory(./googletest)
include_directories(./googletest/include)
link_directories(./googletest)
set(LIBRARIES
        gtest
        pthread)

add_executable(untitled_test main.cpp)
target_link_libraries(untitled_test ${LIBRARIES})

main関数
#include "gtest/gtest.h"

int add(int a, int b) {
    return a + b;
}

TEST(test, add) {
EXPECT_EQ(3, add(1, 2));
}

GTEST_API_ int main(int argc, char ** argv) {

    testing::InitGoogleTest(&argc, argv);
    return RUN_ALL_TESTS();
}

最後に、c++の作成オブジェクトについては、スタックから作成し、オペレーティングシステムによってメモリの割り当てと管理を行う方法と、スタックから作成し、newに使用し、独自のdeleteを必要とする方法の2つがあります.
また後でboostライブラリに触れ、boostライブラリをインストールしたことがあればboost::testも非常に便利なテストフレームワークで、以下は私が使った例です.
#define BOOST_TEST_MODULE example
#include 
#include "WebSocket.h"
#include "WebSocket_tls.h"

BOOST_AUTO_TEST_SUITE(test_suite1)

    BOOST_AUTO_TEST_CASE(test_websocket)
    {
        WebSocket websocket;
        websocket.seturi("ws://192.168.31.41:8088/ws/v1");
        websocket.start();
    }

    BOOST_AUTO_TEST_CASE(test_websocket_tls)
    {
        WebSocket_tls websocket_tls;
        websocket_tls.seturi("wss://api.bitms.com/ws/v1");
        websocket_tls.start();
    }

BOOST_AUTO_TEST_SUITE_END()